jeudi 26 mars 2015

Need to stop Sharepoint from batching separate requests into single correlation id

I have an installation of Sharepoint 2013 which has a site with a custom full-trust Sharepoint solution web part installed on the main page. This custom web part does extension logging within ULS including start and end times of process execution for all of its custom routines. Under light load this web part performs well. The problem is that under moderate load of 50-250 concurrent users this web part experiences slow page loads of around 60 seconds in some cases. The Sharepoint farm is built to spec according to Microsoft’s recommended practices. Within SolarWinds monitoring we see that the Sharepoint farm’s hardware is not being strained. While investigating the problem I was surprised to find within the Sharepoint Web Front End ULS that Sharepoint appears to be batching separate user requests into a single Correlation Id. I can see this because every time I log to ULS within my custom code that I include the user's login id. The sizes of these batches vary. Some may have two separate user requests within them. Others can have up to 7 separate user requests. Furthermore what I see is that within the batch that there is significant delay in between processing of transactions within the batch. In some cases there can be 10 seconds of delay before the next user's transaction within the batch executes. I have analyzed the ULS logs and from what I have seen the custom code transactions typically execute within fractions of seconds. But the delay in between custom code transactions within the correlation id batch cause a lot of delay. How can I stop Sharepoint from batching separate requests in this way? Is there a configuration setting that can be set to stop this behavior?

0 commentaires:

Enregistrer un commentaire