Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What tool(s) for fairly complex stress testing a web application [closed]

I'm part of a team developing a new web-based product for our company. Whilst we're pretty positive the application will work perfectly with our expected average of 10-50 concurrent users, we have a requirement to ensure it will continue to work correctly for 1000 concurrent users.

Our primary concern is around the loading and displaying of various documents from the file system. To get the files, the user would need to log in, navigate to a search page, wait for a search to complete, then click a link and wait for the document to load.

We have SilkTest/TestPartner, which can be configured to go through the steps above, but I don't believe these tools can realistically be used to simulate load to the extent we require.

Can you suggest some (preferably free / open source) programs? Commercial products aren't a no-go, but the price cannot be enormous :)

Thanks in advance!

like image 481
Sk93 Avatar asked Sep 09 '10 07:09

Sk93


4 Answers

the grinder for java apps : Grinder

like image 96
NimChimpsky Avatar answered Sep 20 '22 14:09

NimChimpsky


Use apache's benchmark tool ab.

From Wikipedia: ApacheBench:

ApacheBench is a command line computer program for measuring the performance of HTTP web servers, in particular the Apache HTTP Server. It was designed to give an idea of the performance that a given Apache installation can provide. In particular, it shows how many requests per second the server is capable of serving.

You can provide it with cookie/value pairs of a logged in user, and point it to the search URL, with the ability to tell it to run concurrent connections to simulate concurrent users.

like image 27
aularon Avatar answered Sep 17 '22 14:09

aularon


Apache JMeter would definitely support your scenario and supports Distributed Testing (pdf) which is a mode where you run several agents on different machines and can thus scale to simulate high numbers of concurrent users.

like image 45
Pascal Thivent Avatar answered Sep 20 '22 14:09

Pascal Thivent


You could try Web Performance Load Tester - it is a mid-priced load testing product. It is much less expensive than SilkPerformer or LoadRunner and much more productive. It is limited to only web protocols, but that doesn't sound like it will be a problem for your application. There are videos on the site that will give you a pretty good feel for the tool: http://www.webperformanceinc.com/load_testing/demo/

(disclaimer: I work for Web Performance and use the product nearly every day)

like image 38
CMerrill Avatar answered Sep 21 '22 14:09

CMerrill