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. > >

