site inaccessible et trop lent !

Nouveau WRInaute
Salut,

J'ai un server Debian qui depuis un certains temps c'est beaucoup trop lent ce qui m'oblige a le redémarrer.
J'ai a peu près 20000 Visiteurs par jours ( selon google analytics ).

Information sur le serveur :

Système d'exploitation Debian Linux 5.0
Version de Webmin 1.520
Noyau et CPU Linux 2.6.26-2-amd64 sur x86_64
Processor information Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 4 cores
Running processes 224
Moyennes de charge CPU 0.44 (1 min) 0.10 (5 mins) 0.03 (15 mins)
CPU usage 21% user, 13% kernel, 15% IO, 51% idle
Mémoire réelle 7.81 GB total, 150.07 MB utilisé


Merci pour votre aide !
 
Nouveau WRInaute
reconfigure ton serveur apache et administre en console sans webmin augmente t'est serveur apache et le nombre de visiteur par serv tu devrez être plus fluide et si tu à autant de visiteur créer des le démarrage pasmal de serv en instance au moins il on pas besoin de se créer quand le visiteur arrive vue qu'il existe déjà. Donc trouve toi une bonne config apache ( tu en trouve sur le net facilement ) avec pas mal de serv lancé au démarre et augmente ton nombre de serveur max et de visiteur par serveur et ton problème sera réglé ( ton serv aura + de load average mais sa sera normal vue que + de ressource surtout regarde bien ta ram pour faire ton nombre de visiteur max etc tout dépend du matos que tu a sachant que sa consomme env 25Mo/serveur ou visiteur me souvient plus )

Bon courage !
 
Nouveau WRInaute
Salut,

Donc le problème vient de Apache , je vous donne ma configuration d'apache :

Code:
ServerRoot "/etc/apache2"

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

Qu'est ce que je doit changer dans la configuration d'Apache ?
 
WRInaute discret
C'est possible aussi que se soit un scipt php qui bloque le serveur...

Sinon tu peux aussi genre installer un serveur web secondaire du genre Ngnix qui te servira tous les fichiers statiques et comme proxy (ou voire même carrément tous migrer...) Ce serveur consomme vraiment très peux de mémoire pour de très très bonne performance...
 
Nouveau WRInaute
petite config que tu peux tester :

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

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 60
MaxSpareServers 240
MaxClients 256
MaxRequestsPerChild 2000
</IfModule>

ServerLimit 400

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 60
MaxSpareThreads 240
ThreadsPerChild 25
MaxRequestsPerChild 2000
</IfModule>

après à doit d'aviser selon la conso etc mais sa reste un exemple tu peux passer les Maxrequest à 0 au lieu de 2000 au pire mais bon enfin voila un début ^^ bon courage ++
 
Nouveau WRInaute
Salut,

Merci pour vos réponce , j'ai modifier la config de Apache.

Je veux seulement préciser que mysql peut être la cause de ce problème .

Gestionnaire de processus :

Code:
2263 	mysql 	12.8 % 	/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file ...
19870 	www-data 	0.8 % 	/usr/sbin/apache2 -k start
19873 	www-data 	0.6 % 	/usr/sbin/apache2 -k start
19875 	www-data 	0.6 % 	/usr/sbin/apache2 -k start
19825 	www-data 	0.5 % 	/usr/sbin/apache2 -k start
19851 	www-data 	0.5 % 	/usr/sbin/apache2 -k start
19796 	www-data 	0.4 % 	/usr/sbin/apache2 -k start
19818 	www-data 	0.4 % 	/usr/sbin/apache2 -k start
19819 	www-data 	0.4 % 	/usr/sbin/apache2 -k start
19874 	www-data 	0.4 % 	/usr/sbin/apache2 -k start
19435 	root 	0.3 % 	/usr/sbin/apache2 -k start
19644 	www-data 	0.3 % 	/usr/sbin/apache2 -k start
19690 	www-data 	0.3 % 	/usr/sbin/apache2 -k start
19720 	www-data 	0.3 % 	/usr/sbin/apache2 -k start
19779 	www-data 	0.3 % 	/usr/sbin/apache2 -k start
19608 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19613 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19617 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19624 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19627 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19653 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19658 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19662 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19675 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19678 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19691 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19695 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19707 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19734 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19756 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19766 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19771 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19777 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19781 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19782 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19785 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19789 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19791 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19797 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19810 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19811 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19815 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19822 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19841 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19842 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19843 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19854 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19860 	www-data 	0.2 % 	/usr/sbin/apache2 -k start
19599 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19600 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19602 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19603 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19604 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19607 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19610 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19611 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19615 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19618 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19619 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19621 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19623 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19625 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19630 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19638 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19639 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19641 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19645 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19650 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19652 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19654 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19656 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19663 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19666 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19669 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19674 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19682 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19685 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19689 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19698 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19705 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19709 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19715 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19718 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19721 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19730 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19731 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19733 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19741 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19759 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19760 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19769 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19778 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19828 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19849 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19850 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19862 	www-data 	0.1 % 	/usr/sbin/apache2 -k start
19864 	www-data 	0.1 % 	/usr/sbin/apache2 -k start

Que pensez-vous ?
 
WRInaute passionné
Je trouve que ton site utilise trop de processeur comparé à la RAM (bon ça peut être un fonctionnement normal).
Est-ce que tu as bien la dernière version d'Apache ? Pareil pour MySQL.

MySQL n'a pas l'air d'être l'élément bloquant.

Ca sent le script php qui met longtemps à se compiler donc se débloquer.

Il nous faudrait plus d'infos sur ce que tu dis en "trop lent/inaccessible".
20'000 visiteurs par jour ne veut rien dire, si chaque visiteur affiche une seule image, ça consommera rien, si chaque visiteur visite 100 pages avec 20 éléments par page, là ça commence doit commencer à taper sur le serveur.
 
Nouveau WRInaute
Julia41 a dit:
Je trouve que ton site utilise trop de processeur comparé à la RAM (bon ça peut être un fonctionnement normal).
Est-ce que tu as bien la dernière version d'Apache ? Pareil pour MySQL.

MySQL n'a pas l'air d'être l'élément bloquant.

Ca sent le script php qui met longtemps à se compiler donc se débloquer.

Il nous faudrait plus d'infos sur ce que tu dis en "trop lent/inaccessible".
20'000 visiteurs par jour ne veut rien dire, si chaque visiteur affiche une seule image, ça consommera rien, si chaque visiteur visite 100 pages avec 20 éléments par page, là ça commence doit commencer à taper sur le serveur.

Si c'est un script qui bloque le tous comment on peut savoir de quel script il s'agit ?
 
WRInaute passionné
douniacreation a dit:
Si c'est un script qui bloque le tous comment on peut savoir de quel script il s'agit ?

Malheuresement c'est bien galère.
Avec apache et son module server-status, tu pourrais déjà avoir une piste.

La technique c'est aussi de voir (lors d'un top) ce que prends apache.
Si tu as des grosses pointes à 100% (voir même à 50%) pour afficher la page d'accueil de ton site, c'est qu'il y a un élément bloquant.

Tu peux aussi activer les erreurs, peut-être y a t'il tout simplement un script qui bloque, qui n'existe pas.
Commence ton index.php par :
Code:
ini_set('display_errors', 1);
error_reporting(E_ALL);
regarde l'affichage, tu verras peut-être des trucs très bloquant.

Un site sur lequel j'ai dû intervenir avait un script de tracking (en php) dans sa page, le script de tracking était hébergé sur un serveur down, donc il fallait attendre le timeout de la fonction "file_get_contents" pour afficher la page... Ce qui était très long. Voici un exemple à la con.
 
Discussions similaires
Haut