Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
apache_benchmarks [2015/06/01 15:33]
steve [Example CGP Graph]
apache_benchmarks [2015/06/01 20:59] (current)
steve [Sample Benchmark]
Line 22: Line 22:
  
 Before you do any tests suites, use CGP to determine that average number of webserver connections over a specific period of time (week, month, etc.). ​ Then use that average as the number of concurrent connections,​ to simulate the benchmark under normal conditions. Before you do any tests suites, use CGP to determine that average number of webserver connections over a specific period of time (week, month, etc.). ​ Then use that average as the number of concurrent connections,​ to simulate the benchmark under normal conditions.
- 
-Using Ragnar and this system load as an example, 4.7 is the average # of connections over one hour (3600 seconds). [[http://​ragnarrelay.com/​cgp/​detail.php?​p=apache&​pi=localhost&​t=apache_connections&​h=ragnarrelay.com&​s=3600|reference]] 
- 
-Please note that this average is for all the traffic that the website generates -- not just one page. 
  
 Once you have the average number of connections,​ you can simulate the load under any length of time.  Fifteen seconds (one quarter of a minute) is a good number that is both realistic in simulation as well as wait time for the tester. Once you have the average number of connections,​ you can simulate the load under any length of time.  Fifteen seconds (one quarter of a minute) is a good number that is both realistic in simulation as well as wait time for the tester.
Line 39: Line 35:
 Running a test over a period of time is probably going to be easier to see, as you can watch the results in realtime with the system load.  The opposite, using a number of requests, would be good if you wanted to simulate a sudden spike. Running a test over a period of time is probably going to be easier to see, as you can watch the results in realtime with the system load.  The opposite, using a number of requests, would be good if you wanted to simulate a sudden spike.
  
-==== Sample Benchmark ==== 
- 
-Using a local checkout of Ragnar'​s server, with an Apache installation on my desktop, here are some benchmark tests, using PHP and the ''​prefork''​ MPM, and the default Apache configuration. 
- 
-== Default Settings == 
- 
-  * Timeout 300 
-  * KeepAlive On 
-  * MaxKeepAliveRequests 100 
-  * KeepAliveTimeout 15 
-  * ServerTokens Prod 
- 
-== MPM Settings == 
- 
-  * StartServers 5 
-  * MinSpareServers 5 
-  * MaxSpareServer 10 
-  * MaxClients 150 
-  * MaxRequestsPerChild 10000 
- 
-== Results == 
- 
-Timeout value for all results are 15 seconds. 
- 
-  * R/S = Requests per second [#/sec] (mean) 
-  * TPR = time per request 
-  * TPR (mean) = (mean) 
-  * TPR (all) = (mean, across all concurrent requests) 
  
-^ Concurrent ^ R/S ^ TPR (mean) ^ TPR (all) ^ 
-| 20 | 17.6 | 1136 | 56 | 
-| 40 | 29.19 | 1370 | 34 | 
-| 60 | 25.22 | 2378 | 40 | 
-| 80 | 28.45 | 2812 | 35 | 
-| 100 | 26.79 | 3732 | 37 | 
-| 120 | 23.86 | 5028 | 42 | 
-| 140 | 24.71 | 5665 | 40 | 
-| 160 | 23.15 | 6911 | 43 | 
-| 180 | 14.65 | 12283 | 68 | 
-| 200 | 10.59 | 18885 | 94 |