Apache rame

58 réponses
AuteurMessage

krucial |
Administrateur

Photo de krucial

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 sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Julgates | Julien
Administrateur

Photo de Julgates

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 NetworkOuvrir dans une nouvelle fenetre - Founder / CTO

krucial | Jean Christophe
Administrateur

Photo de krucial

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 sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

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 conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

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 tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

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 sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Julgates | Julien
Administrateur

Photo de Julgates

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 NetworkOuvrir dans une nouvelle fenetre - Founder / CTO

caaptusss | Jérémy
Membre

Photo de caaptusss

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.comOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

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

Photo de caaptusss

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.comOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

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 conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

caaptusss | Jérémy
Membre

Photo de caaptusss

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.comOuvrir dans une nouvelle fenetre

Rano | Jean
Modérateur

Photo de Rano

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 tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

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 sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 06/10/2009 à 10:25

\o_

Qu'est ce que tu me proposes ?

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 06/10/2009 à 14:03

Je crois qu'en premier lieu, je vais externaliser SQL.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

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

Photo de krucial

Inscrit le : 09/03/2005

# Le 06/10/2009 à 14:22

Voila, super plan ssd commandé.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

MathieuC | Mathieu
Modérateur

Photo de MathieuC

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

Photo de krucial

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 sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 3:53:05 | Généré en 14.71ms | Contacts | Mentions légales |