Performance issues with TransferRequestHandler and BeginRequest

I started using New Relic to monitor the performance of http://alternativeto.net , which is a pretty big site.

I noticed that considerable time is wasted on the method, which they represent as "TransferRequestHandler", and when I immerse myself in it, I see that this is really the BeginRequest () method, which takes time.

It looks like a new relic.

http://content.screencast.com/users/stuckish/folders/Jing/media/22c8137e-21b1-4b36-8185-15989e173f57/2012-10-30_0941.png

The closest I found to find something that might be the problem is this thread here in Stack I just found out why all ASP.Net sites are slow and I'm trying to decide what to do with it , but I really tried to replace the session module, but that didn't help.

A site is a hybrid between ASP.NET MVC and Webforms.

I realized that this is a long shot, and you have nothing to "continue", but if someone can put me in the right direction and, most importantly, can reproduce the behavior locally or something like that would be extremely grateful :)

+4
source share
1 answer

BeginRequest is the place where it all starts, so a delay is usually required, but you have to go deeper to find the actual point of your code that makes the delay.

If the session is a problem, disconnect the session when the user takes lengthy actions, for example, uploads a file, or complicates procedures that have been stuck for a long time.

regarding the session:
call an aspx page to return the image randomly slower
ASP.NET Server does not process pages asynchronously
Trying to make an asynchronous web method
The web application is blocked while processing another web application while sharing the same session
What perfmon counters are useful for identifying ASP.NET bottlenecks?
Replacing an Entire ASP.Net Session

The next step is to create a fully customizable session.

Now this can help if you use several pools (web garden) to launch your site, but before that you should be sure that you have the correct synchronization of your data and use Mutex and another blocking mechanism to run on multi pools.

+4
source

Source: https://habr.com/ru/post/1442936/


All Articles