Performance d'un serveur web sur un Dockstar (Apache bench) - Partie 2

Bilan un an après

Avec les dernières modifications sur le cache Nginx, j'ai décidé de refaire le test.

Résultat de l'extérieur

# ab -kc 10 -n 50 http://blog.slucas.fr/blog/nginx-gzip-css-js
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.slucas.fr (be patient).....done


Server Software:        nginx/1.1.0
Server Hostname:        blog.slucas.fr
Server Port:            80

Document Path:          /blog/nginx-gzip-css-js
Document Length:        14727 bytes

Concurrency Level:      10
Time taken for tests:   7.254 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      765550 bytes
HTML transferred:       736350 bytes
Requests per second:    6.89 [#/sec] (mean)
Time per request:       1450.885 [ms] (mean)
Time per request:       145.089 [ms] (mean, across all concurrent requests)
Transfer rate:          103.06 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       36  179  96.8    189     485
Processing:   377 1225 463.7   1272    2088
Waiting:       49  240 191.4    204    1421
Total:        531 1405 465.1   1483    2377

Percentage of the requests served within a certain time (ms)
  50%   1483
  66%   1657
  75%   1796
  80%   1882
  90%   1936
  95%   1989
  98%   2377
  99%   2377
 100%   2377 (longest request)

Avec une page plus grosse (14727 bytes à la place de 12130 bytes) je passe de 3 requêtes par secondes à 6,89. 50% des clients sont servis en moins d'une seconde et demie.

Résultat depuis le réseau local

$ ab -kc 10 -n 50 http://blog.slucas.fr/blog/nginx-gzip-css-js
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.slucas.fr (be patient).....done


Server Software:        nginx/1.1.0
Server Hostname:        blog.slucas.fr
Server Port:            80

Document Path:          /blog/nginx-gzip-css-js
Document Length:        14727 bytes

Concurrency Level:      10
Time taken for tests:   0.121 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      765550 bytes
HTML transferred:       736350 bytes
Requests per second:    414.53 [#/sec] (mean)
Time per request:       24.124 [ms] (mean)
Time per request:       2.412 [ms] (mean, across all concurrent requests)
Transfer rate:          6198.14 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    4   1.7      4       9
Processing:    13   19   2.4     20      24
Waiting:        4    7   1.4      7      10
Total:         14   23   1.7     23      26

Percentage of the requests served within a certain time (ms)
  50%     23
  66%     24
  75%     24
  80%     24
  90%     25
  95%     26
  98%     26
  99%     26
 100%     26 (longest request)

Impressionnant cela veut donc dire une chose, le point bloquant du test venant de l'extérieur est ma ligne ADSL, pas le Dockstar. Donc je peux arrêter d'optimiser le Dockstar et attendre tranquillement que mon nombre de visites motive un hébergement externe.

J'ai fait plus de tests avec un niveau de parallélisme plus important :

$ ab -kc 30 -n 50 http://blog.slucas.fr/blog/nginx-gzip-css-js
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.slucas.fr (be patient).....done


Server Software:        nginx/1.1.0
Server Hostname:        blog.slucas.fr
Server Port:            80

Document Path:          /blog/nginx-gzip-css-js
Document Length:        14727 bytes

Concurrency Level:      30
Time taken for tests:   0.282 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      765550 bytes
HTML transferred:       736350 bytes
Requests per second:    177.18 [#/sec] (mean)
Time per request:       169.319 [ms] (mean)
Time per request:       5.644 [ms] (mean, across all concurrent requests)
Transfer rate:          2649.22 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    9   5.7      6      22
Processing:    33   54  34.0     45     277
Waiting:        9   18   6.7     16      32
Total:         35   64  33.2     62     282

Percentage of the requests served within a certain time (ms)
  50%     62
  66%     64
  75%     67
  80%     69
  90%     72
  95%     73
  98%    282
  99%    282
 100%    282 (longest request)


$ ab -kc 50 -n 50 http://blog.slucas.fr/blog/nginx-gzip-css-js
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.slucas.fr (be patient).....done


Server Software:        nginx/1.1.0
Server Hostname:        blog.slucas.fr
Server Port:            80

Document Path:          /blog/nginx-gzip-css-js
Document Length:        14727 bytes

Concurrency Level:      50
Time taken for tests:   0.306 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      765550 bytes
HTML transferred:       736350 bytes
Requests per second:    163.46 [#/sec] (mean)
Time per request:       305.881 [ms] (mean)
Time per request:       6.118 [ms] (mean, across all concurrent requests)
Transfer rate:          2444.11 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        3    9   2.2     10      12
Processing:    54  121  75.0     94     295
Waiting:       12   35  20.3     31      87
Total:         57  129  74.3    105     304

Percentage of the requests served within a certain time (ms)
  50%    105
  66%    107
  75%    112
  80%    115
  90%    277
  95%    296
  98%    304
  99%    304
 100%    304 (longest request)


Published 12th Oct 2011 // #dockstar #nginx




comments powered by Disqus