I am going to set up some load testing test with jmeter. However, I can't find on the net what is a good bench mark. How good is good?
My site hit is about 80,000/day on average.
After mining out some data from access log for 1 month, I manage to find out:
Average low traffic is about 1 requests / sec Average Medium traffic of 30 requests / sec Average High traffic of 60 requests / sec
I came out with the following plans to test 8 kind of pages and it's ideal respective average response time on a single page load :
- Page 1 - 409ms
- Page 2 - 730ms
- Page 3 - 1412ms
- Page 4 - 1811ms
- Page 5 - 853
- Page 6 - 657ms
- Page 7 - 10ms
- Page 8 - 180ms
Simulate average traffic scenario - 10 requests / second test
- Simulated Users: 10 threads
- Ramp Period: 1 sec
- Duration: 30 min
Simulate medium traffic scenario - 30 requests / second test
- Simulated Users: 30 threads
- Ramp Period: 1 sec
- Duration: 30 min
Simulate super high traffic scenario - 100 requests / second test
- Simulated Users: 100 threads
- Ramp Period: 1 sec
- Duration: 30 min
Simulate an attack scenario - 350 requests / sec (based on MYSQL max connection of 500)
- Simulated Users: 100 threads
- Ramp Period: 1 sec
- Duration: 10 min
While running these test, I plan to monitor the following:
- CPU Load average: (Webserver)
- CPU Load average: (DB Server)
- RAM Load average:
- RAM Load average: (DB Server)
- Average Response time:
To see how much it's its memory and cpu utilisation and if there's a need to increase RAM, CPU etc... Also I capped MySQL Max connection at 500.
In all testing, I expect response time should be ideally below a capped benchmark of 10secs.
How does this sound? I've no SLA to follow, this is just based on research on current web traffic and coming out with the plan. The thing is I don't know how what is the threshold of the server. I believe with the hardware below it should already exceed what's needed for hosting our pages.
Webserver is running: 8GB RAM, 4 Core ( 1 server, another cold backup server No load balancer ) MySQL Server is running: 4GB RAM , 2 Core.
We are planning to move to cloud so ideally need to find out what kind of instance best fit our scenario through this load testing as well.
Would really appreciate any good advice here..