site inaccessible ou trop lent -> Rédémarrage obligatoire

WRInaute discret
Bonjour !

Je fais appel à vous car j'ai un gros problème depuis quelques temps ...
J'ai un serveur dédié (dédibox) où seul apache+Php4 fonctionnent. Il n'y a pas de mysql.

Mais depuis un certains temps c'est beaucoup trop lent !!
Au début, ca commence par un gros ralentissement, puis après, le service http est innaccessible ... et si j'attend encore un peu, là, c'est carrément tout le serveur qui innaccessible en ssh (alors qu'il ping).

J'ai environ 2 000 visiteurs uniques par jour et voici ma configuration de apache2.conf :


Timeout 100
KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
<IfModule prefork.c>
StartServers 5
MinSpareServers 70
MaxSpareServers 300
#ServerLimit 601
MaxClients 100
MaxRequestsPerChild 0
</IfModule>

<IfModule worker.c>
StartServers 5
#ServerLimit 601
MaxClients 100
MinSpareThreads 70
MaxSpareThreads 300
ThreadsPerChild 0
MaxRequestsPerChild 4000
</IfModule>


Si vous savez comment faire... je suis vraiment mal là à savoir que le site est trop lent...
A savoir quand meme que j'ai 1GO de mémoire de RAM.

Apparemment, tout se joue sur le MaxClients...
Mais si je le met trop haut, le serveur est Out en quelques minutes... et si je le met trop bas, le site serait je suppose, trop lent.


Je remercie toutes les personnes qui auront la réponse à mon probleme...
 
WRInaute discret
Bonjour,

Euh, maxclients à 40 c'est tout ???
Il y a quand meme 2 000 à 5 000 visiteurs par jours uniques ...
(environ 9 000 visites par jour)...

Mettre un maclients trop bas ne ralentira pas le site ? (les gens attendent leur tour ...)

Concernant le top ...
Actuellement, après un reboot vers 17h00, ca donne :
Code:
top - 18:25:00 up  2:12,  1 user,  load average: 0.81, 0.54, 1.32
Tasks: 158 total,   4 running, 154 sleeping,   0 stopped,   0 zombie
Cpu(s): 26.8% us, 23.2% sy,  0.0% ni, 47.7% id,  0.7% wa,  0.0% hi,  1.7% si
Mem:   1018456k total,   715872k used,   302584k free,    13580k buffers
Swap:  1044216k total,   380368k used,   663848k free,    64240k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                         
 2596 www-data  16   0 24344  11m 2472 S  5.3  1.1   0:16.04 apache2                          
 2579 www-data  15   0 24392  11m 2668 S  4.6  1.1   0:14.00 apache2                          
 2652 www-data  16   0 24016  10m 1880 S  4.6  1.0   0:16.03 apache2                          
 2653 www-data  16   0 24224  11m 2524 S  4.3  1.1   0:14.86 apache2                          
 2571 www-data  16   0 24324  11m 2612 R  3.3  1.1   0:16.60 apache2                          
 2636 www-data  15   0 24296  10m 1920 S  3.0  1.1   0:14.51 apache2                          
 2635 www-data  15   0 24160  11m 2572 S  2.7  1.1   0:14.85 apache2                          
 2661 www-data  15   0 24276  10m 1880 S  2.3  1.1   0:15.07 apache2                          
 2619 www-data  16   0 24156  10m 2120 S  2.0  1.1   0:16.51 apache2                          
 2622 www-data  15   0 24400  11m 2568 S  2.0  1.1   0:19.57 apache2                          
 2578 www-data  15   0 24404  11m 2604 S  1.7  1.1   0:17.70 apache2                          
 2586 www-data  15   0 24004  10m 2436 S  1.7  1.1   0:15.01 apache2                          
 2659 www-data  15   0 24084  10m 1940 S  1.7  1.0   0:18.33 apache2                          
 2590 www-data  16   0 24420  11m 2608 S  1.3  1.1   0:18.42 apache2                          
 2601 www-data  15   0 24204  10m 2448 S  1.3  1.1   0:19.11 apache2                          
 2633 www-data  16   0 24296  11m 2916 S  1.3  1.2   0:17.22 apache2                          
 2595 www-data  16   0 24352  11m 2528 S  0.7  1.1   0:17.07 apache2                          
 2611 www-data  15   0 24536  11m 2912 S  0.7  1.2   0:18.33 apache2                          
 2616 www-data  15   0 24120  10m 2160 S  0.7  1.1   0:15.11 apache2                          
 2625 www-data  15   0 24372  11m 2612 S  0.7  1.1   0:18.14 apache2                          
  710 root      10  -5     0    0    0 S  0.3  0.0   0:00.87 kjournald                        
 2129 bind      25   0 30060 1556  992 S  0.3  0.2   0:00.33 named                            
 2515 root      15   0 18824 1568 1156 S  0.3  0.2   0:00.24 apache2                          
 2575 www-data  15   0 24412  11m 2604 S  0.3  1.1   0:16.04 apache2                          
 2602 www-data  15   0 24184  11m 2756 S  0.3  1.1   0:16.98 apache2                          
 2615 www-data  15   0 24452  11m 2548 S  0.3  1.1   0:13.08 apache2                          
 2617 www-data  15   0 24224  10m 1940 S  0.3  1.0   0:18.40 apache2                          
 2627 www-data  15   0 24320  11m 3068 S  0.3  1.2   0:16.53 apache2                          
 2629 www-data  15   0 24248  11m 2912 S  0.3  1.2   0:14.69 apache2                          
 2632 www-data  15   0 24144  10m 2140 S  0.3  1.1   0:15.15 apache2                          
 2650 www-data  15   0 24176  10m 2524 S  0.3  1.1   0:13.41 apache2                          
 3307 postfix   15   0  4676 1896 1540 S  0.3  0.2   0:00.01 trivial-rewrite

Je vous remercie fortement pour l'attention que vous portez à ce sujet.


PS: je précise qu'actuellement, le site est plutot rapide ... mais jusqu'à quand ??
 
WRInaute occasionnel
Ton serveur swap, 380Mo en 2h de uptime... tu n'as pas un script vraiment gourmant ? une boucle infinie ? une règle htaccess qui boucle ?
Est-ce que tu peux voir qqch sur apache-status ?
 
WRInaute discret
Bonjour,

Mon site est un jeu online ... donc oui, il y a des scripts de mises à jour très gourmantes !
En revanche, le site en lui meme reste parfaitement normal (tous les scripts "utilisateurs" ont été optimisé).
Les mises à jour également mais mettre à jour des milliers de compte... ca prend du temps !

En général, une mise à jour se fait en 10 minutes grand maximum ... (donc, boucle pendant 10 minutes :D ).

Sinon, question htaccess ... non !
Mais ce qui est bizarre, c'est que je n'ai pas touché au serveur et ce problème est venu sans précédent ! (aucune mise à jour, aucun reboot, aucun nouveau logiciel etc.)

Il y a peut-etre le nombre de visiteurs qui a augmenté un peu ...

Voila, en tout cas, vraiment, je vous remercie pour votre serieu.
 
WRInaute discret
Ben tu devrais peut-être te pencher sur l'optimisation des scripts dits gourmands, si ce problème est lié à une hausse de fréquentation de ton site t'es mal barré, vu que ton objectif est probablement d'avoir plus de visiteurs ^^

Tu peux travailler les requêtes de ta base de données, les regexp et jouer sur des petits détails...

avec MySQL tu peux voir les requêtes qui mettent du temps à aboutir. Elles sont dans un fichier log sur ton serveur.
Sinon, fais en sorte que ces mises à jour ne se lancent qu'aux heures creuses, enfin si c'est possible...
 
WRInaute occasionnel
Mets à 5 :

KeepAliveTimeout 5

et :

Commente toutes les lignes de prefork et mets ça à la place :

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 200
MaxRequestsPerChild 100
</IfModule>

Tu recharges la config apache et tu testes.

Puis donne le résultat de cette commande aux heures de pointes :

netstat -tanpu | grep apache2 | grep ESTABLISHED | grep -v grep | wc -l


http://www.linux-kheops.com/doc/redhat7 ... onfig.html

C'est apache 1 mais ça résume un peu les options prefork
 
WRInaute discret
Bonjour,

Je vous remercie pour le message très détaillé.

En revanche, une chose me fait peur :
Code:
MaxSpareServers 10
Ce n'est pas un peu faible ca ?
Que se passe t-il si 150 personnes se connectent en meme temps pour afficher une page riche en information, lors d'une mise à jour ?

En tout cas, encore une fois, je vous remercie pour toutes vos réponses.
 
WRInaute occasionnel
Je ne sais pas, pour ça que je t'ai mis un lien : https://www.webrankinfo.com/forum/t/article-bien-configurer-apache.63439/

De toute façon, il faut tester. Quand le trafic devient important, ya pas un réglage magique pour tous les sites. Faut faire des tests et lire la doc.

Je règle au feeling et j'ai une commande en cron qui m'envoie par mail le nombre de clients simultanés aux heures de pointes 4 à 5 fois dans la journée. Ça permet d'anticiper les ressources ou prévoir certains réglages.

Tu peux essayer ce script (c'est juste un mix d'un truc que j'ai trouvé sur http://aide.sivit.fr/ et http://forum.ovh.com/ puis j'en ai fait un truc à tout faire (ya pas tout ^^) :

Code:
#!/bin/bash
(

echo To: moi@example.com
echo From: leserveur@example.com
echo Subject: Rapport quotidien du `date +%e\ %B\ %Y` pour `hostname`

echo Rapport de `hostname`
echo Usage du disque :
echo

df -h

echo
echo Charge du serveur :
echo

uptime

echo
echo Apache Max

netstat -tanpu | grep apache | grep ESTABLISHED | grep -v grep | wc -l

echo
echo
) | mail -s Rapport-Machine-XXXX moi@example.com

Tu mets ça dans un fichier, puis tu crées une tâche planifiée crontab avec les heures de ton choix. Ça surveille à ta place :lol:

echo To: moi@example.com <= ton mail
echo From: leserveur@example.com <= le mail du serveur, tu mets ce que tu veux@ladresseduserveur

Rapport-Machine-XXXX <= le sujet du mail, tout collé, je sais plus si ça passe avec les espaces. Enfin, peu importe.

Tu nommes le fichier rapport.sh tu le mets dans /usr/local/sbin

Tu le rends exécutable : chmod +x /usr/local/sbin/rapport.sh

Tu le lances une première fois voir si il fonctionne : rapport.sh

Puis tu l'installes avec crontab : crontab -e

Et tu mets ça :

55 5,18-21 * * * /usr/local/sbin/rapport.sh 1>/dev/null 2>&1

Soit un rapport par mail tous les jours à 5 h 55 du mat / et un toutes les heures de 18 h 55 à 21 h 55

Si ya des termes que tu comprends pas, tapes-les sur Google.
 
WRInaute discret
Je te remercie énormément pour ton script !

Apparement, il fonctionne ...
Etant donné que le serveur est "out" aléatoirement, j'ai décidé d'envoyer le rapport toutes les heures...

J'ai bien écris ce que tu as mis dans ton post dans apache2.conf ...
On va voir ce que ca donne !!

En tout cas, merci beaucoup pour ton aide.
 
WRInaute passionné
a mon avis c'est surtout free ram qu'il faut envoyer

j'ai un probleme similaire sur mon server de sauvegarde (perso)

et c'est debian etch (que je vais finir par abandonner) qui gere le swap de manière incorrecte

rog
 
WRInaute discret
Bonjour!

Pourrai-je avoir plus d'informations sur free ram? En quoi cela consiste-il?
Sinon, le serveur tourne sur ubuntu. Bon ok c'est presque pareil... Mais je trouve que ça tourne bien...

En tout cas vraiment merci pour toute l'aide que vous apporté.
 
WRInaute occasionnel
Tape free -help :lol:

Tape man free pour avoir la doc

DESCRIPTION
free affiche les quantités totales de mémoire physique et d'échange libre et utilisée par le système, ainsi que les
tampons utilisés par le système. La colonne de la mémoire partagée devrait être ignorée car elle est obsolète.

Pour le script, tu peux ajouter ça (juste pendant la période de surveillance, c'est pas la peine de trop en rajouter en exploitation normal, (quand tu auras résolu ton problème). C'est pas trop gourmand, mais quand même un ptit peu quand ya trop de commande) :

echo
echo Memoire
free -m
echo
echo
echo info services :
echo
ps aux
echo
echo



Sinon, regarde également dans /var/log/apache2/error si ya pas une insulte après un problème (regarde dans /var/log/syslog aussi)

puis tu as aussi ps aux qui donne pas mal d'info, voir si ya pas un service qui a un peu trop faim ^^


Le tout sans oublier les avis de biscuit et Elvis si ya pas un script trop gourmand, ou un truc qui tourne en boucle.

Le système d'exploitation n'y ait pour rien. Debian Etch est redoutablement efficace avec une installation de base et des programmes serveurs bien réglés. Un serveur mal configuré, ça fonctionnera sur aucun OS. Et un script foireux ou trop lourd, ou codé avec les pieds, peut coucher un supertanker avec 1 visitor ^^, alors... Etch gère mal le Swap ? j'ai des doutes. Jamais entendu parlé de ça avec un vrai test à l'appui. Mais bon, peut-être. Je suis a des années lumières de tout connaître.

Pour ubuntu, même avis.
 
WRInaute discret
Bonjour !!!

En fait, j'ai rajouté dans le script un "top -n 1 -b"
Et là, rebellote, ca recommence à lagguer ...

Voici le rapport à 12h01 :
Code:
Charge du serveur :

 12:01:05 up 11:51,  1 user,  load average: 1.67, 0.88, 0.71

Apache Max
31

Top
top - 12:01:11 up 11:52,  1 user,  load average: 1.94, 0.95, 0.74
Tasks: 128 total,   3 running, 124 sleeping,   0 stopped,   1 zombie
Cpu(s):  9.6% us,  3.9% sy,  0.0% ni, 85.1% id,  1.2% wa,  0.0% hi,  0.3% si
Mem:   1018456k total,  1005736k used,    12720k free,     8704k buffers
Swap:  1044216k total,   183132k used,   861084k free,    17528k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
12499 root      19   0  740m 688m 1156 R 56.0 69.3   0:40.53 vhcs2-vrl-traff    
12415 www-data  16   0 24716  10m 2840 D  3.8  1.1   0:00.79 apache2            
12516 www-data  15   0 24860  11m 2696 S  3.8  1.2   0:00.54 apache2            
12412 www-data  15   0 24752  11m 2940 S  1.3  1.2   0:00.83 apache2            
12413 www-data  15   0 24960 6692 2736 S  1.3  0.7   0:00.93 apache2            
    1 root      16   0  1568  268  252 S  0.0  0.0   0:00.92 init
... Jusque là, le serveur tournait bien ...
Le rapport à 12h26 :
Code:
Charge du serveur :

 12:25:59 up 12:16,  2 users,  load average: 1.57, 1.00, 0.84

Apache Max
27

Top
top - 12:26:00 up 12:16,  2 users,  load average: 1.77, 1.05, 0.86
Tasks: 127 total,   1 running, 125 sleeping,   0 stopped,   1 zombie
Cpu(s):  9.8% us,  4.1% sy,  0.0% ni, 84.6% id,  1.2% wa,  0.0% hi,  0.3% si
Mem:   1018456k total,   409476k used,   608980k free,    13924k buffers
Swap:  1044216k total,    63416k used,   980800k free,    94404k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
13424 www-data  16   0 24812  12m 2752 S 29.5  1.2   0:00.91 apache2            
13446 www-data  15   0 19336 6776 2680 S  5.9  0.7   0:00.08 apache2            
13399 www-data  15   0 25000  12m 2736 S  3.9  1.2   0:00.51 apache2            
13452 www-data  15   0 19080 6280 2576 S  2.0  0.6   0:00.02 apache2

Là, le serveur était un peu lent (20 secondes pour afficher une page ...)

Comment résoudre ce problème définitivement ?? :(

je vous remercie encore pour votre aide.
 
WRInaute occasionnel
ça me parle pas assez. il faut le résultat de ps aux au moment du ralentissement.

Met ton script à jour ainsi. avec une cron (un par heure). Comme ça, si le serveur monte en charge et que tu ne peux pas taper les commandes à ce moment là (les résultats seront plus parlant) :

il faut juste ajouter :

echo
echo Memoire
free -m
echo

echo
echo info services :
echo
ps aux
echo
echo


Et quand tu reçois le mail, tu donnes l'intégralité du message (Tu mets dans un fichier texte chez free)


Le script à jour :

Code:
#!/bin/bash
(

echo To: moi@example.com
echo From: leserveur@example.com
echo Subject: Rapport quotidien du `date +%e\ %B\ %Y` pour `hostname`

echo Rapport de `hostname`
echo Usage du disque :
echo

df -h

echo
echo Charge du serveur :
echo

uptime

echo
echo Memoire
free -m
echo

echo
echo info services :
echo
ps aux
echo
echo

echo
echo Apache Max

netstat -tanpu | grep apache | grep ESTABLISHED | grep -v grep | wc -l

echo
echo
) | mail -s Rapport-Machine-XXXX moi@example.com


rog a dit:
Etch gère mal le Swap ? j'ai des doutes. Jamais entendu parlé de ça avec un vrai test à l'appui. Mais bon, peut-être. Je suis a des années lumières de tout connaître.

c'est certainement ça

la différence avec vous c'est que le serveur est physiquement dans mes locaux et que j'ai un output ecran

rog

Edit pour pas polluer le sujet : La différence avec toi, c'est que mes serveurs sont chez OVH, chez SIVIT, chez PHPNET, CHEZ CDEDIE et chez Moi et que je n'ai jamais eu les problèmes que tu cites avec Etch à ce niveau : compilation de programme ou gestion d'application serveur. Mais bon, le problème n'est pas Etch ou Ubuntu et changer d'OS n'arrangera pas son problème. Cependant, ton avis reste intéressant.
 
WRInaute passionné
Etch gère mal le Swap ? j'ai des doutes. Jamais entendu parlé de ça avec un vrai test à l'appui. Mais bon, peut-être. Je suis a des années lumières de tout connaître.

c'est certainement ça

j'ai changé de serveur pour un plus puissant et j'ai fait les mêmes install, config et scripts que sur mon sarge

la différence avec vous c'est que le serveur est physiquement dans mes locaux et que j'ai un output ecran

la simple compilation gcc d'une source de 500ko peut crasher mon server et le swap est clairement responsable, les 1go qui suffisaient largement sous sarge saturent très vite sous etch

c'est simple, le server ne tient pas plus de 24H avec une frequentation inférieure à celle du sarge et c'est toujours à cause de la saturation de la partition swap que j'ai reformaté plusieurs fois par acquis de consience

rog
 
WRInaute occasionnel
Désolé, ça ne m'en dit pas plus. Pas facile quand on a pas la main sur le serveur.

Essais sur http://www.dedibox-news.com/ et http://forum.ubuntu-fr.org/

En leur donnant un maximum d'info.

Puis dans le doute, envois-moi par MP les logs /var/log/apache2/error et /var/log/syslog si tu veux. De temps en temps j'aime bien fouiner sur un problème. Si j'ai un moment, je regarderai.

(ça ressemble quand même plus à un problème avec les scripts de ton site. Avis) A mon niveau, je peux pas en dire plus.
 
WRInaute impliqué
9000 visiteurs par jour disons de 9h00 à 23h00, ca fait 14h00 soit 14 x 60 x 60 = 50400
pour en venir à 1 visteurs toutes les 5 secondes
autant dire que cela fait rigoler NORMALEMENT une dedibox
ton script de 10min il est lancé combien de fois par jour ?... pas une fois par visiteur :?
 
WRInaute passionné
la j'ai la preuve que le swap est mal géré par etch

un ami me file son hd externe pour que je lui mette des fichiers dedans (300 go)

je plug, le monte et fais un test avec mc

tout va bien donc je lui colle une commande rsync

le server crash au bout de 10 films

je reboot plusieurs fois et j'ai le même probleme à chaque fois

je lui colle un cp et c'est pareil

je vais même jusquà rajouter une partition swap en fin de disque de 1go en empietant sur l'espace log
je vire l'autre swap, je reboot et c'est pareil, ça crash en moins de 3 minutes

je vire tous les swap, je reboot et miraculeusement le server ne crash plus

fallait oser non ?

rog
 
WRInaute discret
Bonjour !!!

Cela est-il le cas également pour ubuntu 6 ? (qui est basé sur Etch si mes souvenirs sont bons...)

Sinon, voila que depuis 1 semaine que je n'avais plus aucun problème avec cette config :
Code:
Timeout 100

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 5

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 200
MaxRequestsPerChild 100
</IfModule>

Et 10 minutes avant que le serveur coupe, le mail régulier m'envoie :
Code:
Charge du serveur :

 18:01:17 up 6 days, 17:54,  0 users,  load average: 10.19, 13.59, 13.19

Apache Max
42

Top
top - 18:01:30 up 6 days, 17:55,  0 users,  load average: 9.85, 13.41, 13.13
Tasks: 114 total,   1 running, 112 sleeping,   0 stopped,   1 zombie
Cpu(s): 14.3% us,  9.7% sy,  0.0% ni, 74.1% id,  1.4% wa,  0.0% hi,  0.5% si
Mem:   1018456k total,  1006712k used,    11744k free,    18576k buffers
Swap:  1044216k total,   743552k used,   300664k free,    72744k cached

...

Memoire
             total       used       free     shared    buffers     cached
Mem:           994        983         11          0         18         71
-/+ buffers/cache:        893        100
Swap:         1019        726        293
On remarque quand meme que le Swap est beaucoup utilisé et le "load average" est vraiment très mauvais !! ( load average: 9.85, 13.41, 13.13)

Voila, et là, je remarque aussi que, 15 minutes après le reboot, c'est encore très long !!

Si quelqu'un connait la soluce ...
 
WRInaute passionné
oui mais on n'a pas le meme prob et mon etch est la version 64bits pour amd

faudrait le output d'un ps

ça pourrait etre un cron hebdomadaire

rog
 
WRInaute discret
Bonjour !

Le "ps aux " du mail régulier me montre un truc plutot louche :

Code:
root      3797  0.0  0.1   3672  1328 ?        Ss   19:00   0:00 /bin/sh -c /var/www/vhcs2/engine/traffic/vhcs2-vrl-traff &>/var/log/vhcs2/vhcs2-vrl-traff.log
root      3805  6.4 27.9 298372 285152 ?       R    19:00   0:03 /usr/bin/perl /var/www/vhcs2/engine/traffic/vhcs2-vrl-traff
...
Vous ne trouvez pas ca bizarre quand meme que VHCS prennent autant de mémoire ?
Etant donné que je ne me sers pas des stats de VHCS... puis-je enlever les crons correspondants ?
 
WRInaute passionné
deja tu peux ouvrir

/var/www/vhcs2/engine/traffic/vhcs2-vrl-traff

avec un editeur de texte pour voir le contenu, c'est du perl et ça se comprend facilement

a vue de nez c'est un parseur de logs

rog
 
WRInaute impliqué
rien dans tes logs php ?
une fois sur debian sarge des cas particuliers de traitement provoquait une erreur preg_match et lancait apache2 sur du 99% de cpu indéfiniment
 
WRInaute discret
Non, rien dans les logs Php apparement ...
Mais le problème viendrait vraiment à cause des mises à jours des logs de VHCS ...

je vais tenter d'arreter ces crons ...
 
WRInaute discret
Je viens de voir mes logs apache ...
et voici une piste :
Code:
[Fri Dec 07 19:06:46 2007] [error] (12)Cannot allocate memory: fork: Unable to fork new process
 
WRInaute impliqué
benjiman a dit:
Mon site est un jeu online ... donc oui, il y a des scripts de mises à jour très gourmantes !
En revanche, le site en lui meme reste parfaitement normal (tous les scripts "utilisateurs" ont été optimisé).
Les mises à jour également mais mettre à jour des milliers de compte... ca prend du temps !

En général, une mise à jour se fait en 10 minutes grand maximum ... (donc, boucle pendant 10 minutes :D ).

Tu pourrais en dire un peu plus comment sont codés tes scripts apparemment sans base de données ?! Comment sont-ils lancés à quelle intervalle de temps, que fais une page utilisateur au niveau traitement/ressource ?
 
WRInaute discret
Bonjour,

La base de données est gérée par un autre serveur très performant (qui lui n'execede jamais 50% de son CPU, et jamais 50% de sa mémoire).

La grosse maj est lancée toutes les deux heures ... dont une beaucoup plus rapide que l'autre.

Mais que veux-tu dire par "que fais une page utilisateur au niveau traitement/ressource ?" ?

merci en tout cas !
Le serveur est "OUT" 4 fois dans la soirée ... alors qu'il était parfait depuis 1 semaine ...
 
WRInaute impliqué
de rien mais je pense qu'il faudrait creuser du coté dev et non pas admin quoique chez dedibox tu peux changer de box en 1 click...
je pose plein de question après tu réponds si tu veux :)
comment sont lancé maj en ligne de commande, es-tu sur qu'elle se termine bien
que fait une page de ton site au niveau php, lecture en base, des calculs particuliers, des lectures fichiers ?
 
WRInaute discret
Bonjour !

Je trouve cela quand meme bizarre que du jour au lendemain une dedibox n'arrive plus à gerer Apache correctement ...
Alors que tout fonctionnait il y a encore 2 jours !

Il est vrai que le site en lui même (donc, seulement Apache) demande énormément de ressources (pas forcément en CPU mais en mémoire !) ... les jeux online, c'est souvent comme ca !
Et je ne connais pas à ma connaissance un serveur dédié pas trop cher avec 2 Go de RAM ... (si vous connaissez ...)

Sinon, pour répondre à tes questions :
Les maj se terminent toutes bien vu que je recois un récapitulatif par mail...
Question pages php : Quelques pages sont en cache, mais le fait que ce soit un jeu ne me permet pas d'appliquer cette technique à toutes les pages !
C'est mysql qui fait le plus gros boulot, mais le serveur mysql est assez gros et performant pour tenir la charge.


Petite question au passage ...
J'ai dans apache :
Code:
Timeout 100 

KeepAlive On 

MaxKeepAliveRequests 100 

KeepAliveTimeout 5 

<IfModule prefork.c> 
StartServers 5 
MinSpareServers 5 
MaxSpareServers 10 
MaxClients 200 
MaxRequestsPerChild 100 
</IfModule> 

<IfModule worker.c>
StartServers         5
#ServerLimit 601
MaxClients         100
MinSpareThreads     70
MaxSpareThreads     300
ThreadsPerChild      0
MaxRequestsPerChild  4000
</IfModule>

<IfModule perchild.c>
NumServers           5
StartThreads         5
MinSpareThreads     70
MaxSpareThreads     300
MaxThreadsPerChild   0
MaxRequestsPerChild  0
AcceptMutex fcntl
</IfModule>

Et un
Code:
netstat -tanpu | grep apache | grep ESTABLISHED | grep -v grep | wc -l
me donne parfois un nombre superieur à 60 parfois !
C'est normal ?
Je remarque que lorsque l'on est dans ces zones là, le serveur commence a swapper puis termine par devenir OUT quelques minutes après...

Comment faire pour résoudre ce problème vraiment gênant ?
 
WRInaute impliqué
combien pèse un process apache? peut être peux tu réduire le nombre de module et aussi réduire le nombre d'extension php au juste minimum et puis pourquoi ne pas installer les derniere version php5/apache2 ? tu peux aussi avec deux ip sur la dedibox monter un serveur de statique avec lighthttpd...
 
WRInaute discret
Réduire le nombre de module ?
je veux bien ... mais comment ?

Je ne peux pas installer Php5 ... Trop de modifications coté mysql ...

Comment je peux savoir combien pèse un process apache ?
 
WRInaute impliqué
si tu tappes 'ps aux' la colonne RSS donne une estimation
pour réduire les modules 'loader' c'est dans le httpd.conf des lignes du genre LoadModule ...
en générale le strict minimum sont ces 4 modules là :
mod_dir, mod_mime, mod_log_config et mod_php
si tu te créée un phpinfo.php tu liras facilement ce qui est chargé
pareil dans ton php.ini tu peux voir les .so qui sont chargé dans la section extension
je sais pas si tu as une version compilée ou celle apt mais dans ton cas d'optimisation il serait bon que tu compiles ton php avec l'option --disabled-all qui vire un grand nombre de truc pas utile !
 
WRInaute discret
Bonjour !

En effet, le ps aux me donne énormement de processus Apache ...
Concernant les modules ...
Je vais voir... mais est-ce que cela va vraiment jouer ?

Il n'y a pas des modifs à faire sur le apache2.conf ?
Il faut vraiment jouer sur le nombre de visiteurs etc. et pas forcément un moyen pour "réduire" la mémoire ... (qui, en soit, pourra peut-etre etre bénéfique pour 1 ou 2 visiteurs supplémentaires pas plus ...)

En tout cas, merci beaucoup pour ton attention au problème !
 
WRInaute discret
Je trouve ce topic très intéressant, j'avais aussi des problèmes de ressources à l'époque, lors des pics d'affluence le nombre de processus apache montait montait... Et je me retrouvais avec + de 200 processus. Il me fallait parfois 10 minutes pour me conec au shell, et encore une dizaine pour taper une commande ^^ J'étais sous Apache.

Mon problème venait essentiellement de requêtes MySQL extrêmement lourdes du fait de la taille de la table en question ( recherches sur phpBB ). Optimisation de la table, passage sous lighttpd sous les conseils d'un ami et sûrement d'autres bricoles dont je ne me souviens plus... Et depuis je n'ai plus eu de problèmes.

me donne parfois un nombre superieur à 60 parfois !

J'ai testé cette commande et les autres données par MirageDemonAsh, (j'en ai fait un script qui affiche les stats sous forme de page web si ça vous intéresse...) et mon lighttpd est monté à 90, des processus php en fait mais je pense que ça revient au même, sans pour autant que le serveur parte en sucette (j'ai aussi une dedibox !).

Je pense qu'en jouant sur l'optimisation de tes scripts de mise à jour tu pourrais déjà bien faire soufler ton serveur. Ce serait cool si tu nous en disais un peu plus sur son fonctionnement.

T'as des modules de restriction de bp / connexion... pour apache. Tu peux par exemple empêcher les internautes d'ouvrir 40 connexions simultanées sur ton site... C'est pas forcément utile, ça dépend des cas. Ca peut l'être quand on met à disposition des fichiers à télécharger par exemple.
Cband est l'un de ces modes en question. Le site marche pas chez moi, il est peut-être mort ^^
 
WRInaute occasionnel
Bonjour,

J'avais ce problème toute la dernière semaine,

Il fallait juste désactivé le cron de vhcs2 depuis webmin (si c'est installé)

et si tu as Vbulletin équipé de VBseo désactive son cron aussi


Voila, les deux consomment vachement du mémoire et cpu

bonne chance.
 
Discussions similaires
Haut