|
krucial
| Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2009 à 21:23
Yop
J'ai un serveur apache qui, ce soir, en periode d'assez grosse affluence, rame. Ca ne semble pas etre la machine (loadaverage à 0,5) ni sql (en ligne de commande les requetes s'executent super rapidement) mais bien apache qui met de 1 à 4 secondes avant de "prendre" la connexion. A quoi cela peut-il etre du ? Reglages ? JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
Julgates
| Julien Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2009 à 21:54
t'es sur que c'est pas ton CPU ? tu stockes toujours tes images en SQL ? Shopping Time Network - Founder / CTO |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2009 à 22:01
Non non je ne fais plus ça 
Niveau CPU, ca se ressentirait dans le load average non ?
Cpu(s): 8.4%us, 2.5%sy, 0.0%ni, 80.1%id, 7.6%wa, 0.2%hi, 1.2%si, 0.0%st JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
Bool
| Olivier Modérateur
Inscrit le : 09/05/2005
|
# Le 05/10/2009 à 22:13
L'apache status donne quoi ? Est ce que le "dns lookup" est actif ?
7.6% d'io wait c'est déjà pas mal, c'est lié au swap ou bien c'est tout le temps comme ça ? daevel : infogérance et conseil || moi |
|
Rano
| Jean Modérateur
Inscrit le : 13/04/2005
|
# Le 05/10/2009 à 22:32
Ouais, regarde les pointes de wa (io). J'ai eu des faiblesses là dessus personnellement.
Le SQL est sur le meme serveur ? Si oui, il n'y a pas trop de tmp_table (pas sur du nom) ? Chambres d'hote tavel
Séjours en provence
Forum mariage |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2009 à 23:17
Apache status :
__KKKKK_KK_KC__KCKK_CKKK_KK_KK_K_K_K_K__RK_KKKKK__CKK_WKC_KKC_KK
_K_KKCKK_CKKKKKKK_CKKKKKKKK___KKK_KKK_KKK_KKKKKKKCKKKK_K_KKKK_KW
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
Je ne sais pas vraiment analyser le apache status. Attention, le serveur semble mieux tourner depuis que je l'ai relancé pour activer le status.
"7.6% d'io wait c'est déjà pas mal, c'est lié au swap ou bien c'est tout le temps comme ça ?"
Le serveur ne swap pas : "Swap: 16386280k total, 88k used, 16386192k free". La, le serveur tourne mieux et je suis à "1,8%wa"
Pour le wa, je lis "iowait: Amount of time the CPU has been waiting for I/O to complete." ce qui pour moi est aussi clair que "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla laoreet pellentesque nibh vitae."
Le SQL est sur le même serveur en effet. Je suis à "tmp_table_size = 128M", si c'est de ca que tu me parles.
Depuis le dernier restart d'apache, le serveur tourne pas trop mal. JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
Julgates
| Julien Administrateur
Inscrit le : 09/03/2005
|
# Le 05/10/2009 à 23:23
Attends un peu avant de nous copier le status quand même.
Le soucis quand tu as beaucoup d'images comme c'est le cas là c'est que tu sollicites beaucoup apache et ton disque, alors que sortir apache pour une image c'est comme utiliser un bulldozer pour planter un clou. Shopping Time Network - Founder / CTO |
|
caaptusss
| Jérémy Membre
Inscrit le : 25/09/2007
|
# Le 05/10/2009 à 23:35
Réglages de bases à faire pour du trafic important et à nombreux hits :
A la vue de ta charge actuelle, tu peux pousser un peu le dédié.
1) Mettre KeepAlive à Off => Une fois les données envoyés au navigateur, le process est killé pour laisser la place aux autres.
2) MaxKeepAliveRequest à 100
2) KeepAliveTimeOut à 15
3) Maxclient => A voir selon le réglage actuel. Attention car le keep alive laisse le serveur plus sensible aux flood et attaques DDOS. Il faut donc surveiller le maxclient pour qu'il n'autorise pas un dépassement mémoire.
4) MaxRequestPerChild : 0 => Autorise autant de requêtes que necessaire pour chaque process.
Avec ça, ça devrait être un peu plus rapide.
Si tu veux privilégier la sécurité, laisse le keepAlive à On, et augmente simplement le maxclient. Par contre, attention aux dépassement mémoire. Il faut checker le swap et la charge mémoire pour voir ou tu en est.
J'avais préparé un cours pour l'IUT Informatique sur ce sujet y a pas si longtemps, faudrais que je le retrouve pour le mettre ici. FirstHeberg.com |
|
MathieuC
| Mathieu Modérateur
Inscrit le : 15/07/2005
|
# Le 05/10/2009 à 23:42
Si tu fais 1, 2 et 3 ne servent a rien, ca devait etre un piège dans le QCM pour tes étudiants  |
|
caaptusss
| Jérémy Membre
Inscrit le : 25/09/2007
|
# Le 05/10/2009 à 23:51
Le timeout est tout de même lu. Même si le processus est killé à la fin de son execution, il a tout de même besoin d'un paramètre timeout en cas de ddos (il n'attend que 15 secondes et laisse tomber en killant le processus).
Le maxkeepaliveRequest sert également puisque pendant que le process existe, il a tout de même une limite d'execution qu'on limite à 100 avant qu'il soit killé pour fin d'execution. FirstHeberg.com |
|
Bool
| Olivier Modérateur
Inscrit le : 09/05/2005
|
# Le 06/10/2009 à 00:09
Oulah, je pense que tu t'embales là caaptusss.
Pour moi comme l'a indiqué Mathieu à partir du moment où tu désactives le keepalive, tous les paramètres qui lui sont liés deviennent inutiles. Coté timeout en cas de DDoS, bah y a le paramètre Timeout qui sert... de timeout oui.
La valeur par défaut est d'ailleurs tellement élevée qu'en cas de DDoS le timeout va pas beaucoup aider.
Essaye par toi même :
time nc www.webworkerclub.com 80 <<EOF
> GET / HTTP/1.0
> EOF
A ton avis il va mettre 15 secondes ou 300 secondes à rendre la main ?
(ouais désolé JC pour le test  )
Et le maxkeepaliveRequest sert uniquement à limiter le nombre de requêtes successives au sein d'un unique socket utilisant le keepalive.
T'as vraiment raconté tout ça à tes étudiants ? daevel : infogérance et conseil || moi |
|
caaptusss
| Jérémy Membre
Inscrit le : 25/09/2007
|
# Le 06/10/2009 à 00:11
Hum, j'crois que je vais rechercher ce fameux cours ^^ 
Dans ma tête, me semblais que c'était toujours actif, après je raconte p'être des conneries, vous me mettez le doute, je vais vérifier !
P.S : non, j'ai pas donné ce cours là 
(Message édité le 06-10-2009 à 00h17 par caaptusss) FirstHeberg.com |
|
Rano
| Jean Modérateur
Inscrit le : 13/04/2005
|
# Le 06/10/2009 à 00:25
Je voulais parler de ces trois valeurs de mysql :
Created_tmp_disk_tables
Created_tmp_files
Created_tmp_tables
(Dans etat de phpMyAdmin).
Tu peux toujours configurer mysql pour mettre le repertoire "tmp" sur /dev/shm, ça fait pas de mal pour les wa.
Pour le wa, je lis "iowait: Amount of time the CPU has been waiting for I/O to complete." ce qui pour moi est aussi clair que "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla laoreet pellentesque nibh vitae."
C'est genre si le processus doit lire un fichier mais que le fichier est utilisé par un autre processus, le premier attend et ça se compte dans le "wa" du top. Donc si le disque est surchargé en lecture/ecriture, le wa est un premier indicateur. Chambres d'hote tavel
Séjours en provence
Forum mariage |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 06/10/2009 à 00:53
Ok merci rano. J'arriverai donc un peu en rupture du dédié, ce qui m'étonne quand meme. JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 06/10/2009 à 10:25
\o_
Qu'est ce que tu me proposes ? JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 06/10/2009 à 14:03
Je crois qu'en premier lieu, je vais externaliser SQL. JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
MathieuC
| Mathieu Modérateur
Inscrit le : 15/07/2005
|
# Le 06/10/2009 à 14:17
Vaut mieux d'abord identifier le problème, parce que si c'est pas ca, ca va juste servir a rien 
Installe au moins un MRTG de base, ca prend 5 mn sous debian, et ca te permettra d'y voir déjà beaucoup plus clair sur l'élément qui sature sur le serveur. |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 06/10/2009 à 14:22
Voila, super plan ssd commandé. JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |
|
MathieuC
| Mathieu Modérateur
Inscrit le : 15/07/2005
|
# Le 06/10/2009 à 14:25
Ha ok 
Au passage, les SP SSD ne sont pas livrés chez OVH, ils n'ont pas de SSD en stock, toutes les commandes sont en attente depuis au moins 15 jours (ils prévoient de commencer a livrer à la fin de la semaine, ils attendent une livraison de SSD).
Bien sur ca ils ne le disent pas sur leur site, il y a marqué 6 serveurs dispos en 1H  |
|
krucial
| Jean Christophe Administrateur
Inscrit le : 09/03/2005
|
# Le 06/10/2009 à 14:32
Les enculays 
Pour le serveur SQL, même si je ne sais pas d'où vient réellement le probleme pour le moment, c'est une evolution logique que j'aurai deja du mettre en place pour plus de confort. JC - Mes sites | Affiliation devis travaux | Cotes voitures anciennes |