[article] Bien configurer apache
20 messages • Page 2 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Re: [article]Bien configurer apache
ltressens, tu as du mal comprendre !
Voici la doc originale d'apache:
Voici la doc originale d'apache:
apache a écrit:Prior to Apache 1.3 the MinSpareServers, MaxSpareServers, and StartServers settings all had drastic effects on benchmark results. In particular, Apache required a "ramp-up" period in order to reach a number of children sufficient to serve the load being applied. After the initial spawning of StartServers children, only one child per second would be created to satisfy the MinSpareServers setting. So a server being accessed by 100 simultaneous clients, using the default StartServers of 5 would take on the order 95 seconds to spawn enough children to handle the load. This works fine in practice on real-life servers, because they aren't restarted frequently. But does really poorly on benchmarks which might only run for ten minutes.
The one-per-second rule was implemented in an effort to avoid swamping the machine with the startup of new children. If the machine is busy spawning children it can't service requests. But it has such a drastic effect on the perceived performance of Apache that it had to be replaced. As of Apache 1.3, the code will relax the one-per-second rule. It will spawn one, wait a second, then spawn two, wait a second, then spawn four, and it will continue exponentially until it is spawning 32 children per second. It will stop whenever it satisfies the MinSpareServers setting.
-

titiplanti - WRInaute impliqué

- Messages: 430
- Inscription: Jeu Nov 04, 2004 2:34
Salut,
Pour le paramétrage de MaxClients, j'ai quelques doutes car il apparaît à 2 endroits dans mon fichier de configuration :
Alors je modifie lequel ? les 2 ?
En faisant les calculs commé tu indiques fandecine, j'ai trouvé que je pouvais mettre jusqu'à 136 à ce paramètre. Ca me paraît exhorbitant comme valeur par rapport à ce que tu indiques. Mais j'ai l'impression que je n'ai pas le php d'installé ... En effet, quand je tape 'ps aux' je ne vois rien qui resemble à php.
Quand je tape 'ps aux | grep php' j'ai seulement ça :
qui correspond seulement à ma dernière ligne de commande n'est-ce-pas ?
Et quand je tape 'ps aux | grep apache' pour faire la moyenne, il ne faut pas que tienne compte de la dernière ligne :
Pour ce qui est du paramètre MaxRequestsPerChild, si j'ai bien compris ton explication, je le laisse à 0 : ça ne sera pas super optimisé mais avec ça je suis tranquille, n'est-ce-pas ?
Le KeepAliveTimeout, je l'ai mis à 4.
Merci d'avance pour tout éclaircissement
Pour le paramétrage de MaxClients, j'ai quelques doutes car il apparaît à 2 endroits dans mon fichier de configuration :
- Code: Tout sélectionner
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 20
MaxRequestsPerChild 0
</IfModule>
...
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Alors je modifie lequel ? les 2 ?
En faisant les calculs commé tu indiques fandecine, j'ai trouvé que je pouvais mettre jusqu'à 136 à ce paramètre. Ca me paraît exhorbitant comme valeur par rapport à ce que tu indiques. Mais j'ai l'impression que je n'ai pas le php d'installé ... En effet, quand je tape 'ps aux' je ne vois rien qui resemble à php.
Quand je tape 'ps aux | grep php' j'ai seulement ça :
- Code: Tout sélectionner
root 14128 0.0 0.0 3600 764 pts/0 R 23:46 0:00 grep php
qui correspond seulement à ma dernière ligne de commande n'est-ce-pas ?
Et quand je tape 'ps aux | grep apache' pour faire la moyenne, il ne faut pas que tienne compte de la dernière ligne :
- Code: Tout sélectionner
root 15267 0.0 0.0 3600 772 pts/0 S 00:13 0:00 grep apache
Pour ce qui est du paramètre MaxRequestsPerChild, si j'ai bien compris ton explication, je le laisse à 0 : ça ne sera pas super optimisé mais avec ça je suis tranquille, n'est-ce-pas ?
Le KeepAliveTimeout, je l'ai mis à 4.
Merci d'avance pour tout éclaircissement
titiplanti a écrit:Salut,
Pour le paramétrage de MaxClients, j'ai quelques doutes car il apparaît à 2 endroits dans mon fichier de configuration :
- Code: Tout sélectionner
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 20
MaxRequestsPerChild 0
</IfModule>
...
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Alors je modifie lequel ? les 2 ?
Dans ta config apache fonctionne en mode prefork!
titiplanti a écrit:j'ai trouvé que je pouvais mettre jusqu'à 136 à ce paramètre. Ca me paraît exhorbitant comme valeur par rapport à ce que tu indiques.
avec 1Go de Ram, cela me parrait correct.
titiplanti a écrit:j'ai l'impression que je n'ai pas le php d'installé ... En effet, quand je tape 'ps aux' je ne vois rien qui resemble à php.
Quand je tape 'ps aux | grep php' j'ai seulement ça :
- Code: Tout sélectionner
root 14128 0.0 0.0 3600 764 pts/0 R 23:46 0:00 grep php
PHP n'est pas lancé en tant que deamon, il n'y a donc pas de processus php. PHP est lancé comme un module apache.
titiplanti a écrit:Et quand je tape 'ps aux | grep apache' pour faire la moyenne, il ne faut pas que tienne compte de la dernière ligne :tu confirmes ?
- Code: Tout sélectionner
root 15267 0.0 0.0 3600 772 pts/0 S 00:13 0:00 grep apache
affirmatif!
titiplanti a écrit:Pour ce qui est du paramètre MaxRequestsPerChild, si j'ai bien compris ton explication, je le laisse à 0 : ça ne sera pas super optimisé mais avec ça je suis tranquille, n'est-ce-pas ?
Tu peux essayer! verifie tous les jours la taille moyenne de tes processus apache, si elle augmente, il te faudra mettre une valeur à MaxrequestPerChild pour forcer apache à tuer un processus avant qu'il ne devienne trop gourmand.
Voilà
-

titiplanti - WRInaute impliqué

- Messages: 430
- Inscription: Jeu Nov 04, 2004 2:34
Merci pour tes réponses. Ce sont des doutes qui m'empêchent d'avancer ...
Je me suis trompé pour MaxRequestsPerChild : je voulais dire que je le mettrais plutôt à 1 pour faire mourir tous les processus, pour ne pas être embêté à long terme ...
Il y a quand même quelque chose qui me perturbe dans la valeur que j'obtiens : c'est que j'ai une moyenne de 5.6Mo (après avoir refait les calculs sans la dernière ligne) et que ça me paraît contredire :
PS : j'ai réussi à configurer apache et déménagé un de mes sites (en html et js) sur le serveur !
Je me suis trompé pour MaxRequestsPerChild : je voulais dire que je le mettrais plutôt à 1 pour faire mourir tous les processus, pour ne pas être embêté à long terme ...
Il y a quand même quelque chose qui me perturbe dans la valeur que j'obtiens : c'est que j'ai une moyenne de 5.6Mo (après avoir refait les calculs sans la dernière ligne) et que ça me paraît contredire :
fandecine a écrit:processus apache sans php pèse environ 3 à 4 Mo. Avec php il peut atteindre 20 Mo
PS : j'ai réussi à configurer apache et déménagé un de mes sites (en html et js) sur le serveur !
Re: [article] Bien configurer apache
fandecine a écrit:MaxClients : Pour déterminer la valeur de MaxClient il faut tout d’abord estimer la quantité de mémoire que vous souhaitez allouer à apache. Un bon moyen d’estimer cette quantité de mémoire et d’arrêter apache et de faire un "ps aux". On fait alors la somme de la colonne RSS, que l’on soustrait à la quantité de mémoire du serveur. Par sécurité, on diminue la valeur obtenue de 10%.
Par exemple, nous obtenons 720Mo.
Maintenant nous allons déterminer la taille d’un processus apache. Apache étant en fonctionnement, avec la commande "ps aux | grep apache" on fait la moyenne de la colonne RSS. (Selon le serveur, apache peut s’exécuter sous différents utilisateurs : http, apache, apache2, www-data etc…) Nous obtenons 14Mo.
La division 720/14 nous donne 51. C’est la valeur de notre MaxClients pour notre serveur.
Si vous mettez une valeur inférieure, vous sous utilisez vos ressources, une valeur supérieure risque d’obliger votre serveur à swapper lorsque les 51 clients seront atteint dans le pire des cas ou dans le meilleur des cas, les clients supplémentaires seront mis en attente ce qui ralentira l'accés à votre serveur.
Je me demande si cela est toujours d'actualité avec Apache 2.2
J'ai un serveur avec 256 Mo de RAM et Apache 2.2 couplé a de nombreux modules (perl, rewrite, actions, PHP5, geoip, cgi,...)
J'ai 6000 pages php vues par jour.
La swap n'est jamais utilisé.
Pourtant j'ai :
- Code: Tout sélectionner
~$ ps aux | grep apache
root 2420 0.0 14.2 54396 36140 ? Ss 08:15 0:02 /usr/sbin/apache2 -k start
www-data 2472 0.1 14.7 56916 37612 ? S 08:15 0:59 /usr/sbin/apache2 -k start
www-data 4818 0.1 14.4 56000 36756 ? S 09:07 0:53 /usr/sbin/apache2 -k start
www-data 6325 0.2 15.0 57184 38168 ? S 09:48 0:50 /usr/sbin/apache2 -k start
www-data 15549 0.2 14.9 56520 37888 ? S 12:15 0:46 /usr/sbin/apache2 -k start
www-data 24624 0.1 14.6 56808 37344 ? S 15:06 0:11 /usr/sbin/apache2 -k start
www-data 24625 0.1 14.6 56768 37348 ? S 15:06 0:11 /usr/sbin/apache2 -k start
www-data 24631 0.2 14.8 57280 37748 ? S 15:06 0:15 /usr/sbin/apache2 -k start
www-data 26396 0.1 14.4 56780 36696 ? S 15:26 0:05 /usr/sbin/apache2 -k start
www-data 29324 0.0 14.0 56244 35836 ? S 16:40 0:00 /usr/sbin/apache2 -k start
www-data 29325 0.0 14.1 56268 35848 ? S 16:40 0:00 /usr/sbin/apache2 -k start
37 Mo par fils apache => 370 Mo d'utilisé
Or j'ai 90 Mo de ram d'utilisé selon htop (et 0 de swap), le reste de la ram fesant du cache disque et j'ai MySQL qui tourne avec 40 Mo de base de données.
J'utilise le noyau linux Ubuntu server avec le noyeau 2.6.18
Qu'en pensez vous ?
Vivien.
20 messages • Page 2 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Gérer ses paramètres de tracking dans Google Webmaster Tools
- Article sur le fichier .htaccess
- GGSearch: Search Tool with Google(TM) Power
- Hébergement de projets open source sur Google Code
- Séminaire URL Rewriting et sites dynamiques
- Google Web Toolkit, pour créer des applications en AJAX
- Configurer les options de passage de Googlebot sur son site
- Configurer des nouveaux moteurs dans Google Analytics
- Comment envoyer un ping à Google Blog Search
Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit
- Test de lien (type de redirection)
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs). - Détection de pages similaires
Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité



le forum