vaibhav.g
vaibhav.g

Reputation: 759

Tools for doing load testing of Http request at high payload(500kb and more)

I want to do load testing on my application with high payload http request.
Problems faced: -
1) Jmeter hang when I put such a high payload in it.

2) Apache benchmark ab - Script :-
ab -c 1 -n 1 -v 4 -t 80000 -p payload.json -r localhost:8080/Scheduler-rest/schedule
I don't know why it is sending unlimited number of request for any value of c and n.

3) Postman client: - I used this for sending one or two request but Postman is not accepting such a high payload.

So can anyone suggest something ?

Thanks

Upvotes: 1

Views: 2175

Answers (4)

Natty
Natty

Reputation: 295

We have successfully ran Jmeter with 300 simultaneous threads from 1 pc (Dual core 2GB ram) with GUI mode itself.

There is always the possibility of delay in response from application which will make the threads of jmeter to wait and hang. Its better to go step by step (I have given the generic steps for windows pc, you may find similar for other OS)

  1. Try adjusting JVM heap and garbage settings as told by dmitri
  2. Adjust the TCP parameters (If you use remote webserver, you need to tune it as well). http://support.microsoft.com/kb/314053 (TCP Autotuning available in windows 7)
  3. Check your network adapter settings (duplex) http://msdn.microsoft.com/en-us/library/cc339518(v=vs.90).aspx
  4. Check your datasource settings in webserver are enough to handle the incoming load
  5. Go step by step (Test with 10,50,100,200,300 threads one by one)
  6. Dont use response assertions for load test (Use them to check if your cript is performing well during intail tests but for real load test, its not recommended)
  7. After tuning all the layers, still you have issues (or) want to try more users, use non GUI mode/Distributed mode.

My 2 cents - Without tuning the Test environment, any tool will struggle to give response.

Upvotes: 0

v0devil
v0devil

Reputation: 522

I can recomend Yandex Tank with Phantom load generator (is a very fast (100 000+ RPS) shooter written in C++). Everything you can find here: https://github.com/yandex/yandex-tank

Upvotes: 0

Dmitri T
Dmitri T

Reputation: 168002

JMeter should be able to send no less requests/second than other tools do, however you'll need to:

  1. Run it in non-GUI mode
  2. Remove all listeners
  3. Adjust default JVM Heap and Garbage Collection settings
  4. It is possible to run JMeter in distributed mode when 1 master instance controls multiple slaves

Refer the following resources for detailed instructions:

Upvotes: 2

user3347819
user3347819

Reputation: 209

You can use Blazemeter or Neoload tools which will allow you run such heavy test scenarios. In Blazemeter you can specify no. of nodes with user distribution and target site. This equally produces load on target site.

Similar stuff can be done through Neoload also. Disadvantage of both of them is after a no. of users they charge per user.

You can use distributed Jmeter clients also, If you have your own set of machines.

Upvotes: 1

Related Questions