I am still test-driving resin 3.1.9 open source on my Windows desktop.

It seems to me that if multiple concurrent requests are made to the same 
URL then Resin will only fulfill one request at a time.  Is this 
intentional?  Is there a reason for it?  Is this related to something in 
the config?

More information about my tests follows:

I tried this with straight-java servlets and with php scripts using 
Quercus.  The PHP script test is the most straightforward:

My script (8seconds.php):

<p>Start: <?php echo date("H:i:s"); ?></p>
<p>Wait 8 seconds...</p>
<?php sleep(8); ?>
<p>End: <?php echo date("H:i:s"); ?></p>

If I load http://localhost:8080/toy-php/8seconds.php in two browser 
windows at as close to the same time as possible, I get:

[Window 1]
Start: 11:09:09
Wait 8 seconds...
End: 11:09:17

[Window 2]
Start: 11:09:17
Wait 8 seconds...
End: 11:09:25

So, in Window 2, it didn't even start running until Window 1 was done.

However, if I add ?foo=bar onto the end of the URL in Window 1, and load 
both at as close to the same time as possible, I get:

[Window 1]
Start: 11:10:54
Wait 8 seconds...
End: 11:11:02

[Window 2]
Start: 11:10:55
Wait 8 seconds...
End: 11:11:03

They ran concurrently.  Since both are the same servlet (quercus) and 
php script, it seems to me that this is happening at the URL level.

Haven't tried doing two different POSTs to the same URL yet...


resin-interest mailing list

Reply via email to