IIS 8.5 Long running requests block other requests for minutes (they wait in request queue)

Hi
Environment: Windows 2012R2 Server, IIS 8.5

I have a classic .asp script which uses "wscrip.shell" to call an external .exe to create LARGE .zip files on the fly and send them to the client browser. While this process is running, other requests to the server are blocked (well they stay in the queue) but this is not acceptable for minutes. I already increased the maximum number of worker processes in the advanced settings of the application pool associated with the site. But like this, I loose my sessions, because they are tied to the worker process. A following page request could be processed by any of the worker processes and session state seems not to be shared amongst the worker processes. Thefore the user possibly looses it's session variables with each page request. Re-Designing the application without sessions would be possible but taking to long in actual emergency.
ANY BETTER SOLUTIONS?
Thomas BrandtnerAsked:
Who is Participating?
 
Dan McFaddenSystems EngineerCommented:
Web gardening (multiple worker processes per Application Pool) is not necessarily a good solution.  If you want to stay this configuration, you need to store session state in an out of process service.  This way any worker process can use the session data stored in the service.

Is there a way to isolate the script that is creating the ZIP files?  Move the code around so that the call to the page goes to something like a virtual application which can use it's own AppPool?  Does the page return data that is used by subsequent http requests?  Can the call to the wscrip.shell be done async?  Call it and move one?

Dan
1
 
Thomas BrandtnerAuthor Commented:
Did move the download part to separate (session free) AppPool with multiple worker processes.
Thanks
0
 
Dan McFaddenSystems EngineerCommented:
Has the reconfiguration resolved the issue?

Dan
0
 
Thomas BrandtnerAuthor Commented:
yes, it worked. But was quite a bunch of program changes and testing. I did it already 2 weeks ago, was urgent. I just had hope it could be just an IIS configuration issue. I had noted it worked in spring 2016 and I was completely surprised why it didn't anymore suddenly.
0
 
Dan McFaddenSystems EngineerCommented:
Glad it's working then.  I guess you could close the question then.

Dan
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.