Forum Discussion
Calls from classic asp web pages to custom com+ soap web adaptor sequential/concurrent issue
Hi,
I have a classic asp web site which uses a custom com+ app installed on the server to communicate with a custom soap web service. When I use the website installed on a Windows 10 Ent workstation running IIS 10 it behaves as needed, with separate web page hits making concurrent connections to the web service through the adaptor. However, when I use the site installed on a windows 2012R2 server running IIS 8.5 the actions from different web page hits are queueing and being processed sequentially. This is most noticeable when a series of actions are performed. eg If page hit (a) makes 5 sequential calls to the web service which might take a total of 60 seconds to complete, and then page hit (b) happens a few seconds after page hit (a), none of the actions from (b) are started until all 5 actions from (a) have completed. On the W10/IIs10 machine they are run concurrently. When I test using VBScript running under cscript.exe they run sequentially on both machines, so I am down to thinking that this is an IIS issue. Both instances of IIS and the com+ app are configured the same. The only difference I can see is that IIS Worker Processes info looks very different, with the "good machine" showing 8,412 Private Bytes and a very large 2,151,803,376.00 KB Virtual Bytes, and the "bad machine" showing 66,380.00KB Private and only 95,224 Virtual. The "bad" one has 64GB RAM and the good one only 16GB. This is very confusing because normally I would expect the server to perform better under load/multi-user conditions than the workstation, but this is the other way around. Any idea what may be causing the calls to be queued? Or perhaps it's not the com+ apps calls that are queued, it's just that subsequent pages not start processing until the previous page has finished waiting for a response?
3 Replies
- pmtelstraCopper ContributorOK. it's all about an inherent problem with IIS classic asp and sessions. For anyone else with this issue the answer is as https://stackoverflow.com/questions/11768698/in-a-classic-asp-application-is-it-better-to-use-a-session-or-cookie-for-cross#:~:text=ASP%20requests%20from%20a%20client%20must%20be%20processed,requests%20cannot%20be%20processed%20at%20the%20same%20time. I will be looking at migrating all or part of the web site to asp.net as that is apparently the only/best way to get improvements in this usage.
- pmtelstraCopper ContributorIn testing further I now realise that this seems to have nothing to do with the com+ app and everything to do with the fact that IIS is not serving pages from the same client concurrently, which has something to do with session state. As I have classic pages which load content into several embedded iframes, the main page is impacted because these are not being handled concurrently.
- pmtelstraCopper Contributor
Actually I need to correct part of my original post. "When I test using VBScript running under cscript.exe they run sequentially on both machines, so I am down to thinking that this is an IIS issue." should read "When I test using VBScript running under cscript.exe in two or more CMD prompt windows on either machine they run concurrently on either machine, so I am down to thinking that this is an IIS issue."