Archive

Posts Tagged ‘benchmark’

Nginx vs Cherokee

February 20th, 2009

I did a micro benchmark for quick comparison between nginx and cherokee on Linode 540 VPS. Result may differ on a dedicate server. static file(100MB)

Cherokee
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests

Server Software:        Cherokee/0.99.0
Server Hostname:        localhost
Server Port:            80

Document Path:          /100mb.test
Document Length:        104857600 bytes

Concurrency Level:      20
Time taken for tests:   30.696 seconds
Complete requests:      200
Failed requests:        0
Write errors:           0
Total transferred:      20971557200 bytes
HTML transferred:       20971520000 bytes
Requests per second:    6.52 [#/sec] (mean)
Time per request:       3069.623 [ms] (mean)
Time per request:       153.481 [ms] (mean, across all concurrent requests)
Transfer rate:          667184.09 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.2      1       1
Processing:  3004 3069  73.9   3048    3228
Waiting:        0    1   0.2      1       2
Total:       3004 3069  73.9   3048    3228

Percentage of the requests served within a certain time (ms)
  50%   3048
  66%   3068
  75%   3071
  80%   3191
  90%   3228
  95%   3228
  98%   3228
  99%   3228
 100%   3228 (longest request)
Nginx
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests

Server Software:        nginx/0.6.35
Server Hostname:        localhost
Server Port:            80

Document Path:          /100mb.test
Document Length:        104857600 bytes

Concurrency Level:      20
Time taken for tests:   30.543 seconds
Complete requests:      200
Failed requests:        0
Write errors:           0
Total transferred:      20971571000 bytes
HTML transferred:       20971520000 bytes
Requests per second:    6.55 [#/sec] (mean)
Time per request:       3054.277 [ms] (mean)
Time per request:       152.714 [ms] (mean, across all concurrent requests)
Transfer rate:          670536.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.2      0       1
Processing:  3006 3054  32.6   3047    3106
Waiting:        0    1   0.4      1       3
Total:       3006 3054  32.6   3048    3107
ERROR: The median and mean for the initial connection time are more than twice the standard
       deviation apart. These results are NOT reliable.

Percentage of the requests served within a certain time (ms)
  50%   3048
  66%   3069
  75%   3087
  80%   3098
  90%   3107
  95%   3107
  98%   3107
  99%   3107
 100%   3107 (longest request)

Small html file (468 bytes)

Nginx
Server Software:        nginx/0.6.35
Server Hostname:        localhost
Server Port:            80

Document Path:          /
Document Length:        468 bytes

Concurrency Level:      200
Time taken for tests:   0.123 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      737100 bytes
HTML transferred:       491400 bytes
Requests per second:    8150.03 [#/sec] (mean)
Time per request:       24.540 [ms] (mean)
Time per request:       0.123 [ms] (mean, across all concurrent requests)
Transfer rate:          5866.59 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3    8   1.7      9      11
Processing:     6   14   3.3     14      24
Waiting:        3   11   3.3     12      23
Total:         14   22   2.6     22      33

Percentage of the requests served within a certain time (ms)
  50%     22
  66%     23
  75%     23
  80%     24
  90%     25
  95%     26
  98%     29
  99%     30
 100%     33 (longest request)
Cherokee
Server Software:        Cherokee/0.99.0
Server Hostname:        localhost
Server Port:            80

Document Path:          /
Document Length:        468 bytes

Concurrency Level:      200
Time taken for tests:   0.139 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      732224 bytes
HTML transferred:       509184 bytes
Requests per second:    7203.83 [#/sec] (mean)
Time per request:       27.763 [ms] (mean)
Time per request:       0.139 [ms] (mean, across all concurrent requests)
Transfer rate:          5151.19 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        6   11   2.5     12      16
Processing:     7   14   3.9     14      27
Waiting:        3   10   3.9      9      19
Total:         16   25   3.5     25      33

Percentage of the requests served within a certain time (ms)
  50%     25
  66%     27
  75%     27
  80%     28
  90%     29
  95%     31
  98%     32
  99%     32
 100%     33 (longest request)
Varnish
Server Software:        ----------
Server Hostname:        localhost
Server Port:            80

Document Path:          /
Document Length:        468 bytes

Concurrency Level:      200
Time taken for tests:   0.141 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      879491 bytes
HTML transferred:       528372 bytes
Requests per second:    7067.44 [#/sec] (mean)
Time per request:       28.299 [ms] (mean)
Time per request:       0.141 [ms] (mean, across all concurrent requests)
Transfer rate:          6070.07 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        6   11   2.5     11      16
Processing:     6   14   3.5     13      24
Waiting:        3   10   3.5      9      21
Total:         17   25   3.4     25      38

Percentage of the requests served within a certain time (ms)
  50%     25
  66%     26
  75%     26
  80%     27
  90%     29
  95%     31
  98%     33
  99%     34
 100%     38 (longest request)

Small image file (23k bytes)

Nginx
Server Software:        nginx/0.6.35
Server Hostname:        localhost
Server Port:            80

Document Path:          /cherokee-logo.png
Document Length:        23619 bytes

Concurrency Level:      200
Time taken for tests:   0.139 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      24624128 bytes
HTML transferred:       24379632 bytes
Requests per second:    7171.34 [#/sec] (mean)
Time per request:       27.889 [ms] (mean)
Time per request:       0.139 [ms] (mean, across all concurrent requests)
Transfer rate:          172449.16 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    5   3.6      4      16
Processing:     0   20   6.1     23      29
Waiting:        0   15   5.7     17      26
Total:          6   25   5.5     26      45

Percentage of the requests served within a certain time (ms)
  50%     26
  66%     27
  75%     27
  80%     27
  90%     28
  95%     35
  98%     41
  99%     43
 100%     45 (longest request)
Cherokee
Server Software:        Cherokee/0.99.0
Server Hostname:        localhost
Server Port:            80

Document Path:          /cherokee-logo.png
Document Length:        23619 bytes

Concurrency Level:      200
Time taken for tests:   0.180 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      26518338 bytes
HTML transferred:       26287947 bytes
Requests per second:    5564.92 [#/sec] (mean)
Time per request:       35.939 [ms] (mean)
Time per request:       0.180 [ms] (mean, across all concurrent requests)
Transfer rate:          144113.78 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4   11   3.4     11      18
Processing:    11   21   5.0     21      36
Waiting:        3    8   3.7      7      24
Total:         21   32   4.7     33      43

Percentage of the requests served within a certain time (ms)
  50%     33
  66%     34
  75%     35
  80%     36
  90%     38
  95%     40
  98%     41
  99%     43
 100%     43 (longest request)
Varnish
Server Software:        --------------
Server Hostname:        localhost
Server Port:            80

Document Path:          /cherokee-logo.png
Document Length:        23619 bytes

Concurrency Level:      200
Time taken for tests:   0.154 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      23933000 bytes
HTML transferred:       23619000 bytes
Requests per second:    6498.44 [#/sec] (mean)
Time per request:       30.777 [ms] (mean)
Time per request:       0.154 [ms] (mean, across all concurrent requests)
Transfer rate:          151882.08 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4   11   3.0     11      17
Processing:    10   18   4.5     17      33
Waiting:        2    6   2.1      5      12
Total:         15   29   4.6     29      48

Percentage of the requests served within a certain time (ms)
  50%     29
  66%     29
  75%     30
  80%     31
  90%     33
  95%     36
  98%     41
  99%     46
 100%     48 (longest request)

Nginx is the fastest to serve small static file on my VPS. No significant difference in serving larging file.

Bookmark and Share  
 

Yejun Linux , ,