I have noticed that so many times, and i don't know why it works like this
for this example : it is all written in asp, buffering on, IIS 7, carrier class server, full of RAM and CPU
As you can see on capture, first the main page is executed, then 3 ajax scripts are called, with Jquery.
I had to call the first one before document.ready event to make it answers before the 2 others.
Otherwise, if the 3 are called at the same time, they won't get answer until the slowest one has finished executing. The 2 lasts are called at document.ready. We clearly see that the 2 start to respond when execution of the slowest one is over. But the lightest one would be very fast alone, some ms.
This happens too when i download some files from the app. The app sends files using bynarystream method. When a file is downloaded from a browser client, app wont answer to any other browser request(I mean in another tab for example) until download is finished.
The strange thing is that you can open another browser (IE, Chrome...) and the server will answer any request immediately, but will act the same for this new browser. No requests from this browser can be run in parallel.
I know ASP is a old stuff, but can somebody tell me why it works like this ?
Is it due to browser limitations or technology? due to session mechanism? due to IIS ? due to database accesses (I believe no because downloads don't involve DB access when streaming content) ? Would it work in another way for others languages and environment ?
Can i change this behavior ? How ?
Cheers
Fred