ab -k -n 100 -c 5 URL A TESTER

L'option -k permet de tester en mode keep alive. -n est le nombre de requête à envoyer. Et enfin -c est le nombre de connexion simultané.

user@client-host:~# ab -k -n 100 -c 5 http://www.lepiaf-blog.com/index.php
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 www.lepiaf-blog.com (be patient).....done


Server Software:        Apache
Server Hostname:        www.lepiaf-blog.com
Server Port:            80

Document Path:          /index.php
Document Length:        115360 bytes

Concurrency Level:      5
Time taken for tests:   319.676 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Keep-Alive requests:    100
Total transferred:      11569805 bytes
HTML transferred:       11536000 bytes
Requests per second:    0.31 [#/sec] (mean)
Time per request:       15983.807 [ms] (mean)
Time per request:       3196.761 [ms] (mean, across all concurrent requests)
Transfer rate:          35.34 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   6.4      0      30
Processing:  6822 15874 3335.1  16415   21244
Waiting:     3409 11918 2140.3  12698   15284
Total:       6822 15875 3337.1  16415   21244

Percentage of the requests served within a certain time (ms)
  50%  16415
  66%  18055
  75%  18380
  80%  18477
  90%  20294
  95%  20539
  98%  20918
  99%  21244
 100%  21244 (longest request)

Nous pouvons voir que les performances sont... nuls :drop: Le test à durée 317 sec, chaque requête a pris en moyenne 15 875 ms. Ce qui est énorme ! :o

Le remède, mettre du cache. Du cache partout partout, dans le moteur TPL, dans la compilation du code PHP (cache OPCode), au niveau du server apache, ajouter le module de compression gzip, ...

Après ça, relancer le test

user@client-host:~# ab -k -n 100 -c 5 http://www.lepiaf-blog.com/index.php
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 www.lepiaf-blog.com (be patient).....done

Server Software:        Apache
Server Hostname:        www.lepiaf-blog.com
Server Port:            80

Document Path:          /index.php
Document Length:        57686 bytes

Concurrency Level:      5
Time taken for tests:   135.849 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Keep-Alive requests:    100
Total transferred:      5798705 bytes
HTML transferred:       5768600 bytes
Requests per second:    0.74 [#/sec] (mean)
Time per request:       6792.474 [ms] (mean)
Time per request:       1358.495 [ms] (mean, across all concurrent requests)
Transfer rate:          41.68 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   6.7      0      33
Processing:  1965 6784 1780.5   7546    8564
Waiting:     1190 4717 1224.5   5258    5769
Total:       1965 6786 1782.0   7546    8593

Percentage of the requests served within a certain time (ms)
  50%   7546
  66%   7941
  75%   8060
  80%   8125
  90%   8313
  95%   8537
  98%   8593
  99%   8593
 100%   8593 (longest request)

C'est beaucoup mieux B) Le test à duré 135 sec, et chaque requête a mis en moyenne 6 786ms., soit un gain d'environ 60% de performance. Ce qui n'est pas négligeable ^_^

Il est possible de faire un export en CVS pour consulter les données ultérieurement.

ab -k -n 100 -c 5 -e lepiaf-blog-perf.cvs http://www.lepiaf-blog.com/index.php

Signature

Source: cyberciti.biz