title: web stress and load testing with jmeter - How good is good? benchmark guide?
body: <p>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?</p>
  
  <p>My site hit is about 80,000/day on average.</p>
  
  <p>After mining out some data from access log for 1 month, I manage to find out:</p>
  
  <p>Average low traffic is about 1 requests / sec
  Average Medium traffic of 30 requests / sec
  Average High traffic of 60 requests / sec</p>
  
  <p>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 :</p>
  
  <ul>
  <li>Page 1 - 409ms </li>
  <li>Page 2 - 730ms</li>
  <li>Page 3 - 1412ms </li>
  <li>Page 4 - 1811ms </li>
  <li>Page 5 - 853 </li>
  <li>Page 6 - 657ms </li>
  <li>Page 7 - 10ms </li>
  <li>Page 8 - 180ms</li>
  </ul>
  
  <p><strong>Simulate average traffic scenario - 10 requests / second test</strong></p>
  
  <ul>
  <li>Simulated Users:     10 threads </li>
  <li>Ramp Period:     1 sec</li>
  <li>Duration:    30 min</li>
  </ul>
  
  <p><strong>Simulate medium traffic scenario - 30 requests / second test</strong></p>
  
  <ul>
  <li>Simulated Users:     30 threads </li>
  <li>Ramp Period:     1 sec</li>
  <li>Duration:    30 min</li>
  </ul>
  
  <p><strong>Simulate super high traffic scenario - 100 requests / second test</strong> </p>
  
  <ul>
  <li>Simulated Users:     100 threads </li>
  <li>Ramp Period:     1 sec</li>
  <li>Duration:    30 min</li>
  </ul>
  
  <p><strong>Simulate an attack scenario - 350 requests / sec (based on MYSQL max connection of 500)</strong></p>
  
  <ul>
  <li>Simulated Users:     100 threads </li>
  <li>Ramp Period:     1 sec</li>
  <li>Duration:    10 min</li>
  </ul>
  
  <p>While running these test, I plan to monitor the following:</p>
  
  <ul>
  <li>CPU Load average: (Webserver)    </li>
  <li>CPU Load average: (DB Server)    </li>
  <li>RAM Load average:    </li>
  <li>RAM Load average: (DB Server)    </li>
  <li>Average Response time:   </li>
  </ul>
  
  <p>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 <strong>500</strong>.</p>
  
  <p>In all testing, I expect response time should be ideally below a capped benchmark of <strong>10secs</strong>.</p>
  
  <p>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.</p>
  
  <p>Webserver is running: 8GB RAM, 4 Core ( 1 server, another cold backup server  No load balancer )
  MySQL Server is running: 4GB RAM , 2 Core.</p>
  
  <p>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.</p>
  
  <p>Would really appreciate any good advice here.. </p>