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?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft IIS Web Server

From novice to tech pro — start learning today.