views:

237

answers:

0

Hi all

I have developed a web application that I want to stress test. The app uses a Flash swf to allow users to browse for images on their machine and upload them to the webserver. This swf will read jpg images from local file system, resize them and generate a thumbnail and then upload these as byteArray to an AMFPHP script that writes the bytearrays as jpg files to the webserver, records the image in the database and then sends the image to Amazon S3 for storage.

I have been trying to stress test this using WAS which works well because it records the header information sent and therefore the bytearray so I can simulate multiple users - though all uploading the same images! :).

I am finding though that not all images are making it to S3 and not all images are being added to the database. I suspect that this due to the script needing more time than WAS allows in the delay field so my question is -

Is there a way to tell WAS to wait for a script to finish executing before moving on rather than sticking to the delay I have specified in the WAS interface? I am thinking that the AMFPHP script that receives the bytearray and writes the file is not finishing before the image is being added to the database or sent to S3.

If I could force WAS to wait until it knows a script has completed I could see more clearly where any bottlenecks are. I am simulating about 100 clients (10 threads * 10 sockets) so presumably this is placing a greater load on this step than can be handled!

Is this a more a case of the testing tool will not accurately simulate the real scenario as in reality Flash would wait to get a success response from AMFPHP that the image has been written before calling the script that creates a record in the database and sends the file to S3? Should I even combine these scripts into a single script so that this is not an issue?

Any advice on this welcome. Our webserver is a Windows 2003 IIS 6 machine.

thanks guys