Merci bien Nicolas ;-)

Le 8 mars 2011 13:47, FROIDURE Nicolas <[email protected]> a écrit :

>  Le 08/03/2011 13:18, Luxpopuli Open source a écrit :
>
> Bonjour Nicolas,
>
> Merci pour ta réponse.
>
> J'ai trouvé également cette page concernant les scripts Perl:
> http://modperlbook.org/html/11-1-Setting-the-MaxClients-Directive.html
>
> Et ici, un calcul d'estimation pour déterminer la valeur:
> http://www.devside.net/articles/apache-performance-tuning
>
> A propos de ab, peux-tu me donner un peu plus d'info sur le test qui permet
> de mettre en évidence la différence de ressource entre des ressources
> statiques et du php ?
>
> Pascal
>
> Le 7 mars 2011 14:57, FROIDURE Nicolas <[email protected]> a écrit
> :
>
>>  Le 06/03/2011 16:41, Luxpopuli Open source a écrit :
>>
>> Bonjour,
>>
>>
>> On lit de partout, à commencer dans la doc, que la valeur par défaut (256)
>> de la directive MaxClients de Apache est suffisante dans la plupart des cas.
>>
>> Comme je ne trouve pas cette valeur particulièrement élevée, je voudrais
>> savoir s'il y a un moyen d'évaluer (d'une façon ou d'une autre) ce que cela
>> représente en terme de visites ou de pages vues ou je ne sais quoi ?
>> Si j'ai bien compris 256 c'est le nombre max de processus fils simultanés
>> = nombre max de connexions simultanées ? (un processus ne gère qu'une
>> connexion (il meurt à la fin de la connexion) alors qu'une connexion peut
>> gérer *MaxRequestsPerChild* requêtes) Oui/Non ?
>>
>> *Taille des processus*
>>
>> Quelles sont les techniques de calcul de la taille des processus pour
>> déterminer la valeur de MaxClients et donc la quantité de RAM que doit avoir
>> le serveur ?
>>
>> Pascal
>>
>>              Slt,
>>
>>     En ce qui concerne la taille des processus, cela dépend du nombre de
>> modules Apaches chargés en mémoire + la taille éventuelle de la mémoire
>> utilisé par ton language de programmation côté serveur.
>>
>>     C'est d'ailleurs le principal problème car pour des ressources
>> statiques, une valeur de 256 est probablement supportable par de nombreuses
>> confs matérielles, mais dès lors que ce sont des scripts qui font appel à la
>> base/utilisent bcp de mémoire, ça change la donne.
>>
>>     J'ai lu qqpart : 1-2Mo pour une ressource statique et 8Mo pour un
>> script PHP en moyenne, après, à toi de définir le ratio entre processus
>> php/res statiques. Si tu veux optimiser, vire les modules qui ne te servent
>> pas en t'aidant de la doc, ça te permettra de mieux les connaître par la
>> même occasion.
>>
>>     Et sinon, dans le dossier bin d'apache, tu as ab (apache benchmark)
>> qui te permet d'effectuer un grand nombre de requêtes simultanées. Tu pourra
>> constater l'énorme différence entre des ressources statiques et du php.
>>
>>     Bonne semaine.
>>
>> --
>> Cordialement, Nicolas Froidure, gérant, Elitwork SARL.
>>
>>
>              Slt,
>
>     Merci pour tes liens, j'y ai aussi appris des trucs.
>
>     Pour te donner un exemple sur un serveur local de test avec 512mo de
> ram et un AMD 2Go. 500 requêtes avec 50 requêtes concurrentes :
> - 22 secondes : 12ko générés en PHP avec cache côté serveur activé (XCMS)
> - 90 secondes : 12ko générés en PHP sans cache (XCMS)
> - 3.71 secondes pour une image de 47ko
>
>     Je t'ai mis les résultats en fin de mail. Tu peux également tester une
> charge plus "habituelle" en extrayant les url de tes logs et en les mettant
> en entrée dans ab. Essayes man ab pour voir si il lit l'entrée standard. A
> la limite, ça serait pas mal de faire un shell qui automatise le "replay" de
> fichiers de log n fois. Je mets ça dans ma todolist.
>
>     Bons tests.
>
> [TEST 1]
> This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Copyright 2006 The Apache Software Foundation, http://www.apache.org/
>
> Benchmarking www.elitwork.com.ewk (be patient)
> Completed 100 requests
> Completed 200 requests
> Completed 300 requests
> Completed 400 requests
> Finished 500 requests
>
>
> Server Software:        Apache/2.2.16
> Server Hostname:        www.elitwork.com.ewk
> Server Port:            80
>
> Document Path:          /
> Document Length:        12456 bytes
>
> Concurrency Level:      50
> Time taken for tests:   22.312500 seconds
> Complete requests:      500
> Failed requests:        0
> Write errors:           0
> Total transferred:      6396000 bytes
> HTML transferred:       6228000 bytes
> Requests per second:    22.41 [#/sec] (mean)
> Time per request:       2231.250 [ms] (mean)
> Time per request:       44.625 [ms] (mean, across all concurrent requests)
> Transfer rate:          279.93 [Kbytes/sec] received
>
> Connection Times (ms)
>               min  mean[+/-sd] median   max
> Connect:        0    0   2.6      0      15
> Processing:   406 2187 459.2   2250    3421
> Waiting:      390 2089 429.6   2125    3218
> Total:        406 2188 459.3   2250    3421
>
> Percentage of the requests served within a certain time (ms)
>   50%   2250
>   66%   2312
>   75%   2359
>   80%   2390
>   90%   2515
>   95%   2859
>   98%   3171
>   99%   3281
>  100%   3421 (longest request)
>
>
>
> [TEST 2]
> This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Copyright 2006 The Apache Software Foundation, http://www.apache.org/
>
> Benchmarking www.elitwork.com.ewk (be patient)
> Completed 100 requests
> Completed 200 requests
> Completed 300 requests
> Completed 400 requests
> Finished 500 requests
>
>
> Server Software:        Apache/2.2.16
> Server Hostname:        www.elitwork.com.ewk
> Server Port:            80
>
> Document Path:          /
> Document Length:        12477 bytes
>
> Concurrency Level:      50
> Time taken for tests:   89.796875 seconds
> Complete requests:      500
> Failed requests:        481
>    (Connect: 0, Length: 481, Exceptions: 0)
> Write errors:           0
> Total transferred:      6455956 bytes
> HTML transferred:       6265456 bytes
> Requests per second:    5.57 [#/sec] (mean)
> Time per request:       8979.688 [ms] (mean)
> Time per request:       179.594 [ms] (mean, across all concurrent requests)
> Transfer rate:          70.20 [Kbytes/sec] received
>
> Connection Times (ms)
>               min  mean[+/-sd] median   max
> Connect:        0    0   2.4      0      15
> Processing:  2046 8802 1658.7   8906   13906
> Waiting:     2000 8596 1627.1   8687   13703
> Total:       2046 8802 1658.9   8906   13906
>
> Percentage of the requests served within a certain time (ms)
>   50%   8906
>   66%   9031
>   75%   9078
>   80%   9125
>   90%   9296
>   95%  11750
>   98%  13390
>   99%  13656
>  100%  13906 (longest request)
>
> [TEST 3]
> This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Copyright 2006 The Apache Software Foundation, http://www.apache.org/
>
> Benchmarking www.elitwork.com.ewk (be patient)
> Completed 100 requests
> Completed 200 requests
> Completed 300 requests
> Completed 400 requests
> Finished 500 requests
>
>
> Server Software:        Apache/2.2.16
> Server Hostname:        www.elitwork.com.ewk
> Server Port:            80
>
> Document Path:          /images/refs/48-thumb.png
> Document Length:        46527 bytes
>
> Concurrency Level:      50
> Time taken for tests:   3.718750 seconds
> Complete requests:      500
> Failed requests:        0
> Write errors:           0
> Total transferred:      23387500 bytes
> HTML transferred:       23263500 bytes
> Requests per second:    134.45 [#/sec] (mean)
> Time per request:       371.875 [ms] (mean)
> Time per request:       7.438 [ms] (mean, across all concurrent requests)
> Transfer rate:          6141.58 [Kbytes/sec] received
>
> Connection Times (ms)
>               min  mean[+/-sd] median   max
> Connect:        0    1   4.7      0      15
> Processing:    46  355  75.2    375     484
> Waiting:       15  306  70.2    328     437
> Total:         46  357  74.9    375     484
>
> Percentage of the requests served within a certain time (ms)
>   50%    375
>   66%    390
>   75%    406
>   80%    421
>   90%    437
>   95%    437
>   98%    453
>   99%    453
>  100%    484 (longest request)
>
> --
> Cordialement, Nicolas Froidure, gérant, Elitwork SARL.
>
>

Répondre à