Bon la je commence à saturer !!! C'est encore parti en sucette plus rien ne fonctionne ca à coupé pendant 5-6 minutes et je ne sais même pas pourquoi !!! Je veux bien que je commence à avoir pas mal de visites mais est-ce normal qu'un serveur 4 parts ne tiennent pas la charge avec 400 visites en 1 heure ?
Hébergement Généralités: Et allez encore en vrac...
Vous devez être connecté pour poster de nouveaux messages. Créer un compte.
- Par :
Arnaudin xavier - Date : le 8 mai. 2008 à 11:22
- Sujet : Et allez encore en vrac...
- Par :
Arnaudin xavier - Date : le 8 mai. 2008 à 12:40
- Sujet : Re: Et allez encore en vrac...
Le 8 mai 2008 à 11:22 CEST, Arnaudin xavier a écrit :
Bon la je commence à saturer !!! C'est encore parti en sucette plus rien ne fonctionne ca à coupé pendant 5-6 minutes et je ne sais même pas pourquoi !!! Je veux bien que je commence à avoir pas mal de visites mais est-ce normal qu'un serveur 4 parts ne tiennent pas la charge avec 400 visites en 1 heure ?
J'ai mis 6 parts sur le serveur est la maintenant cela tient la charge; Est-ce que lorsque les parts changent il y à une mise à jour de la configuration au niveau d'apache et de mysql qui est faite ? N'y aurait-il pas d'optimisations à effectuer afin que cela ne train pas la patte ? J'ai fait les optimisation de base de données cela va bien sur les index. J'ai un système de cache afin de ne pas réutiliser les accès mysql.
- Par :
Arnaudin xavier - Date : le 10 mai. 2008 à 11:17
- Sujet : Re: Et allez encore en vrac...
Le 8 mai 2008 à 12:40 CEST, Arnaudin xavier a écrit :
Le 8 mai 2008 à 11:22 CEST, Arnaudin xavier a écrit :Bon la je commence à saturer !!! C'est encore parti en sucette plus rien ne fonctionne ca à coupé pendant 5-6 minutes et je ne sais même pas pourquoi !!! Je veux bien que je commence à avoir pas mal de visites mais est-ce normal qu'un serveur 4 parts ne tiennent pas la charge avec 400 visites en 1 heure ?J'ai mis 6 parts sur le serveur est la maintenant cela tient la charge; Est-ce que lorsque les parts changent il y à une mise à jour de la configuration au niveau d'apache et de mysql qui est faite ? N'y aurait-il pas d'optimisations à effectuer afin que cela ne train pas la patte ? J'ai fait les optimisation de base de données cela va bien sur les index. J'ai un système de cache afin de ne pas réutiliser les accès mysql.
Je me répond à moi même. En fait j'ai comme l'impression que niveau performance gandi cela n'a pas l'air d'etre tip-top. Je viens de tester mon serveur qui à 6 parts (augmenté avant c'était à 3 parts ) Donc si je regarde l'offre depuis le détail de gandi : 6 parts ca fait un serveur entre un Pentium IV et un intel dual Xeon. Ok il est capable de servir 137.34 requetes par secondes. Mais le serveur en lancant le test ci-dessous monte facilement à 8 d'uptime. De plus si j'essai d'aller sur mon site en même temps, cela ne s'affiche même pas ou c'est très-très lent. On peut également constater que 949 requetes ont étés lentes. ab -kc 25 -t 30 http://xxxx/ Document Path: / Document Length: 79712 bytes Concurrency Level: 25 Time taken for tests: 30.21065 seconds Complete requests: 4123 Failed requests: 0 Write errors: 0 Keep-Alive requests: 0 Total transferred: 330442517 bytes HTML transferred: 329188400 bytes Requests per second: 137.34 [#/sec] (mean) Time per request: 182.034 [ms] (mean) Time per request: 7.281 [ms] (mean, across all concurrent requests) Transfer rate: 10749.02 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 25 36.5 8 230 Processing: 10 152 72.6 145 936 Waiting: 0 59 54.3 40 367 Total: 10 177 76.0 167 949 Percentage of the requests served within a certain time (ms) 50% 167 66% 199 75% 224 80% 233 90% 264 95% 302 98% 357 99% 409 100% 949 (longest request) Avec ce test cela rejoint toujours ma question. J'aimerais avoir une réponse du support si possible ou autre admin qui se débrouille bien en optimisation apache etc. Le fait d'augmenter le nombre de parts sur le serveur change t'il la configuration des processus apache ? J'ai constaté que le keep alive était activé. Le temps d'attente du keep-alive est de 15ms. Le fait de diminuer celui-ci peut-il augmenter les performances ? - Le max-client est définit comme ceci MaxClients 150 Le fait d'augmenter la puissance du serveur il faudrait normalement augmenter cette valeur non ? - Une autre valeur MaxRequestsPerChild 0 Normalement si j'ai bien compris cela permet de définir le nombre de requetes maximum pour chaque processus. Comme il est à 0 ca signifie illimité ! Il vaudrait peut être mieux le fixer à un certaine limite non ? - Une autre valeur MinSpareThreads 5 J'ai lu quelque part que si MinSpareThreads est trop bas apache génèrera trop de processus enfant et consommera beaucoup de mémoire ram. Ce qui semble le cas si vérifie en faisant un top sur la machine. Bref, je pense que la configuration livrée lors d'une installation d'apache n'est pas forcement optimisée, et surtout je pense qu'elle est livrée tel-quelle par défaut. Ce qui explique peut être pourquoi malgrès mes 7500 visiteurs que j'ai eu hier le serveur fonctionnait encore mais par moment avait des temps d'attente lié au fort uptime du serveur. C'est pourtant un serveur 6 parts ce qui devrait quand même fonctionner et surtout être capable de servir beaucoup plus de pages !!! Enfin vous l'aurez compris, je pense qu'il y à une grosse optimisation à faire du côté d'apache afin que nos serveurs aillent beaucoup plus vites. J'imagine que ce doit être la même chose du côté de mysql qui doit être configuré par défaut également. Xavier
- Par : Dominique ROUSSEAU
- Date : le 10 mai. 2008 à 17:28
- Sujet : Re: Et allez encore en vrac...
Le sam, 10 mai 2008 at 11:19 GMT, Arnaudin xavier <xavier.arnaudin@free.fr> a écrit :
Ok il est capable de servir 137.34 requetes par secondes. Mais le serveur en lancant le test ci-dessous monte facilement a 8 d'uptime. De plus si j'essai d'aller sur mon site en meme temps, cela ne s'affiche meme pas ou c'est tres-tres lent. On peut egalement constater que 949 requetes ont etes lentes.
Je reponds uniquement sur ce point precis. Generalement, le load, ca correspond a des processus qui demandent en meme temps acces au processeur, et/ou aux ios (disque). Quand on "benche" sur des charges comme tu indiques, ca ne semble pas anormal de monter a 8. Pour les "requetes tres lentes", sur un apache, ca correspond generalement au fait que le MaxClients est atteint (tu en parles plus bas). Je suppose que tu es en Gandi AI, sinon tu peux essayer le modifier. La "regle" que j'applique, en general pour le dimensionner, est de regarderla taille memeoire qu'occupe un processus apache (de l'ordre de 10 a 20 Mo, selon les modules charges) et de divisr la quantite de memoire dispo par cette valeur. Ca donne un ordre de grandeur qui permet normalement que le serveur ne swappe pas, et evite la spirale infernale du swap -> ca rame -> plus de processus -> plsu de swap -> ...
- Par :
Arnaudin xavier - Date : le 10 mai. 2008 à 17:55
- Sujet : Re: Et allez encore en vrac...
Le 10 mai 2008 à 17:28 CEST, Dominique ROUSSEAU a écrit :
Le sam, 10 mai 2008 at 11:19 GMT, Arnaudin xavier <xavier.arnaudin@free.fr> a écrit :Ok il est capable de servir 137.34 requetes par secondes. Mais le serveur en lancant le test ci-dessous monte facilement a 8 d'uptime. De plus si j'essai d'aller sur mon site en meme temps, cela ne s'affiche meme pas ou c'est tres-tres lent. On peut egalement constater que 949 requetes ont etes lentes.Je reponds uniquement sur ce point precis. Generalement, le load, ca correspond a des processus qui demandent en meme temps acces au processeur, et/ou aux ios (disque). Quand on "benche" sur des charges comme tu indiques, ca ne semble pas anormal de monter a 8.
Ah ok mon serveur 6 parts tient la route pour le moment, mais bon quand j'ai des flots massifs de gens ca monte en uptime.
Pour les "requetes tres lentes", sur un apache, ca correspond generalement au fait que le MaxClients est atteint (tu en parles plus bas).
Le maxclient est pourtant définit à 150 ce qui semble raisonnable. disons qu'en lisant pas mal de docs depuis ce matin, je constate que parfois certains spécifient un maxclient à 50 pourtant avec un gros serveur. Ils changent les autres paramètres pour compenser. J'avoue que je ne suis pas un grand spécialiste de l'admin sous nunux :-p Mon metier c'est développeur depuis 10 ans :-)
Je suppose que tu es en Gandi AI, sinon tu peux essayer le modifier.
Et oui je suis en gandi AI donc je n'ai pas la main; c'est dommage il aurait été bien de pouvoir permettre une modification d'un fichier apache de conf personnel ou l'on peut placer les paramètres que l'on souhaite. Disons que l'idéal serait de pouvoir toucher à la conf d'apache et pouvoir le relancer en gandi AI sans pour autant toucher à la partie système.
La "regle" que j'applique, en general pour le dimensionner, est de regarderla taille memeoire qu'occupe un processus apache (de l'ordre de 10 a 20 Mo, selon les modules charges)
Actuellement un process apache en faisant un top avec shift m me donne un ordre de 16m de mémoire pour le process apache.
et de divisr la quantite de memoire dispo par cette valeur. Ca donne un ordre de grandeur qui permet normalement que le serveur ne swappe pas, et evite la spirale infernale du swap -> ca rame -> plus de processus -> plsu de swap -> ...
Donc si je suis le raisonnement j'ai un serveur de 6 parts avec 1.5 go de mémoire 1500 / 16 = 93 ? C'est bien ca ?
- Par : Dominique ROUSSEAU
- Date : il y a 20 heures
- Sujet : Re: Et allez encore en vrac...
Le sam, 10 mai 2008 at 17:57 GMT, Arnaudin xavier <xavier.arnaudin@free.fr> a écrit :
Le 10 mai 2008 a 17:28 CEST, Dominique ROUSSEAU a ecrit :Generalement, le load, ca correspond a des processus qui demandent en meme temps acces au processeur, et/ou aux ios (disque). Quand on "benche" sur des charges comme tu indiques, ca ne semble pas anormal de monter a 8.Ah ok mon serveur 6 parts tient la route pour le moment, mais bon quand j'ai des flots massifs de gens ca monte en uptime.
"load", pas "uptime" :-) [...]
La "regle" que j'applique, en general pour le dimensionner, est de regarderla taille memeoire qu'occupe un processus apache (de l'ordre de 10 a 20 Mo, selon les modules charges)Actuellement un process apache en faisant un top avec shift m me donne un ordre de 16m de memoire pour le process apache.et de divisr la quantite de memoire dispo par cette valeur. Ca donne un ordre de grandeur qui permet normalement que le serveur ne swappe pas, et evite la spirale infernale du swap -> ca rame -> plus de processus -> plsu de swap -> ...Donc si je suis le raisonnement j'ai un serveur de 6 parts avec 1.5 go de memoire 1500 / 16 = 93 ? C'est bien ca ?
Oui, ça donnerait un truc comme ça. Un truc intéressant, ça serait que tu regardes l'évolution de l'utilisation du swap pendant que tu benches, pour voir si les "requetes lentes" ne se retrouveraient pas associées avec un moment où ton serveur se met à swapper.
- Par :
Arnaudin xavier - Date : il y a 18 heures
- Sujet : Re: Et allez encore en vrac...
Le 12 mai 2008 à 18:08 CEST, Dominique ROUSSEAU a écrit :
Le sam, 10 mai 2008 at 17:57 GMT, Arnaudin xavier <xavier.arnaudin@free.fr> a écrit :Le 10 mai 2008 a 17:28 CEST, Dominique ROUSSEAU a ecrit :Generalement, le load, ca correspond a des processus qui demandent en meme temps acces au processeur, et/ou aux ios (disque). Quand on "benche" sur des charges comme tu indiques, ca ne semble pas anormal de monter a 8.Ah ok mon serveur 6 parts tient la route pour le moment, mais bon quand j'ai des flots massifs de gens ca monte en uptime."load", pas "uptime" :-)
Lol; je me suis trompé de termes :-p
[...]La "regle" que j'applique, en general pour le dimensionner, est de regarderla taille memeoire qu'occupe un processus apache (de l'ordre de 10 a 20 Mo, selon les modules charges)Actuellement un process apache en faisant un top avec shift m me donne un ordre de 16m de memoire pour le process apache.et de divisr la quantite de memoire dispo par cette valeur. Ca donne un ordre de grandeur qui permet normalement que le serveur ne swappe pas, et evite la spirale infernale du swap -> ca rame -> plus de processus -> plsu de swap -> ...Donc si je suis le raisonnement j'ai un serveur de 6 parts avec 1.5 go de memoire 1500 / 16 = 93 ? C'est bien ca ?Oui, ça donnerait un truc comme ça. Un truc intéressant, ça serait que tu regardes l'évolution de l'utilisation du swap pendant que tu benches, pour voir si les "requetes lentes" ne se retrouveraient pas associées avec un moment où ton serveur se met à swapper.
J'ai beau parametrer dans le fichier de configuration de mysql le slow_query, ensuite lorsque je regarde s'il est activé il me dit oui. J'ai parametré le chemin du fichier de log mais visiblement les droits ne sont pas bon il ne doit pas avoir le droit d'écrire. J'ai parametré comme cela dans mon fichier my.cnf: log_slow_queries = /var/log/mysqld-slow.log long_query_time = 3 max_connections=100 wait_timeout=60 connect_timeout=30 thread_cache_size=128 key_buffer=25M join_buffer=1M table_cache=1000 max_connect_errors=100 thread_concurrency=2 Dans phpmyadmin, j'ai bien marqué log_slow_query ON. Avec les bench que j'avais fait, et sur un serveur 6 parts, pas de swap particulier. Pense tu que les valeurs ci-dessus sont ok ? Si je change pour un serveur avec seulement 3 parts vu que mon traffic est redevenu normal que doit-je mettre ?