ebouilleur Posté 17 Septembre 2010 Posté 17 Septembre 2010 Bonjour, J'ai besoin de votre aide Mon serveur (serveur virtuel) plante régulièrement. Généralement cela se traduit par : - les sites ne s'affichent plus (page blanche ou trop long a charger) - un message d'erreur "too many connection" (donc plus d'acces mysql) En général je reboot et c'est reparti, pour plus ou moins longtemps. Uptime sur 1 mois 90%. La machine : bi xeon 3gz , 4go de RAM avec 2 srv virtuel Mon srv virtuel : 2go de ram, 1go de swap. distrib Debian GNU/Linux Lenny (v 5.0.3) + mysql (v 14.12) + php (v 5.2.6) + apache2 (v 2.2.9) Ca héberge 50 sites, dont le plus gros génère pas plus de 1000 visiteurs/jour 60% des sites sont en php avec un accès mysql (dont 10 blog WP) J'ai éliminé le possibilité que le plantage soit du au cron, car ca plante jamais a la meme heure. J'aimerais vos idées, conseils et avis. Merci de me sauver
ricotrutt Posté 17 Septembre 2010 Posté 17 Septembre 2010 J'ai un problème très similaire sur un serveur qui envoie beaucoup d'email et qui héberge aussi de très nombreux tous petits sites, et j'en ai conclu que le serveur était mal dimensionné par rapport au besoin
ebouilleur Posté 17 Septembre 2010 Auteur Posté 17 Septembre 2010 Je n'envoie pas bcp de mail (que des mails de validation d'inscription par exemple)
Dan Posté 17 Septembre 2010 Posté 17 Septembre 2010 Le message "too many connections" est assez parlant ! Peux-tu paraméter mysql et augmenter le max-connecions ? Ou bien, assure-toi dans tes scripts de faire le mysql_close() dès que possible (sans attendre la fermeture automatique de fin de script)
ebouilleur Posté 17 Septembre 2010 Auteur Posté 17 Septembre 2010 (modifié) oui je dois pouvoir faire ce que je veux C'est dans quel fichier de config? le my.cnf? Et pour le mysql_close(), je ne l'utilise jamais finalement, car c'est censé se refermer tout seul après (avant je l'utilisait, puis j'ai lu bcp de tuto ou les webmaster disaient que ca ne servait a rien...) Modifié 17 Septembre 2010 par ebouilleur
Dan Posté 18 Septembre 2010 Posté 18 Septembre 2010 Ca sert, bien évidemment, à libérer une connexion plus rapidement ! Pour le max_connections, c'est dans le fichier my.cnf. Il suffit de redémarrer mysql une fois ce fichier modifié !
ebouilleur Posté 18 Septembre 2010 Auteur Posté 18 Septembre 2010 OK, donc si j'ai rien dans mon fichier my.cnf (enfin par cette variable) c'est donc qu'il prend qqchose par defaut non? Merci
ebouilleur Posté 19 Septembre 2010 Auteur Posté 19 Septembre 2010 (modifié) Par rapport a ma config de mon serveur, je peux mettre quoi? 150? 200 ? J'ai aussi lu sur un forum qu'il pouvait etre intéressant de rajouter ca : mysql.allow_persistent=Off je peux le mettre n'importe ou dans le fichier? Sinon plus concrètement, c'est quand meme bizarre que mon srv sature comme ca, je dois avoir un pb sur un des mes sites, mais comment savoir lequel? une idée Dan? Copier/coller d'une partie mon fichier my.cnf : [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 16M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 1M query_cache_size = 16M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. #log = /var/log/mysql/mysql.log # # Error logging goes to syslog. This is a Debian improvement # # Here you can see queries with especially long duration #log_slow_queries = /var/log/mysql/mysql-slow.log #long_query_time = 2 #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * BerkeleyDB # Type :quit<Enter> to exit Vim J'ai aussi une autre question, peut etre lié a mon soucis, je viens de relancer mysql, donc dans ma page d'état du srv sous pma, je vois : Ce serveur MySQL fonctionne depuis 0 jours, 0 heures, 0 minutes et 33 secondes. Il a démarré le Dim 19 Septembre 2010 à 15:11. par contre ca, ca me parrait énorme : Statistiques sur les requêtes: Depuis son démarrage, 3 714 requêtes ont été envoyées au serveur. Non? Merci Modifié 19 Septembre 2010 par ebouilleur
ebouilleur Posté 21 Septembre 2010 Auteur Posté 21 Septembre 2010 Je me permet un petit up, en ajoutant des infos : Je ne suis pas sur que mes énormes lenteurs de serveur viennet de mysql. En ne laissant tourner que 1 site, mon server-status me donne ca : Parent Server Generation: 1 Server uptime: 19 hours 42 minutes 44 seconds Total accesses: 138630 - Total trafic: 314.5 MB CPU Usage: u25.94 s187.57 cu0 cs0 - .301% CPU load 1.95 requests/sec - 4647 B/second - 2379 B/request 150 requests currently being processed, 0 idle workers WWWWWWWWWWWWWWWWWWWWWWWWWWWCWWWRWWWWWWWWWWWWWWWWWWWWWCWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWRWWWWWWWWCWWWWWWWWWWWWWCWWWWWWWW WWWWWWWWWWWWWWWWWWWWWW.......................................... ................................................................ Qu'en pensez vous? (et j'ai plein de ram de libre, et 0 swap d'utilisé)
Dan Posté 22 Septembre 2010 Posté 22 Septembre 2010 Généralement cela se traduit par : - les sites ne s'affichent plus (page blanche ou trop long a charger) - un message d'erreur "too many connection" (donc plus d'acces mysql) Je ne suis pas sur que mes énormes lenteurs de serveur viennet de mysql. Ah non ? Et l'erreur qui affiche "too many connections" elle vient d'où à ton avis ? Je n'ai jamais dit que c'était la seule cause, mais en général on corrige une cause puis on passe à la suivante ! Mysql doit garder les connexions ouvertes parce que les process apache ne rendent pas la main !
ebouilleur Posté 22 Septembre 2010 Auteur Posté 22 Septembre 2010 Exacte... J'ai donc fait la modification sur my.cnf je suis passé a max_connections = 150 Et je vais modifier mes sites pour rajouter le mysql_close() Sinon, d'autres idées?
ebouilleur Posté 23 Septembre 2010 Auteur Posté 23 Septembre 2010 En fait j'ai l'impression que le schmilbick vient des flux rss de wordpress Quand je coupe tous mes WP, casemble ok, et quand je les réactive, dans mon server-status j'ai plein de ligne qui font appel au feed, et ca ne disparait jamais: Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request 0-2 2926 0/54/698 G 2.14 3869 0 0.0 0.41 4.35 67.195.115.215 www.ebouilleursurf.com GET /webmaster/affiliation-webmaster/adulte/feed/ HTTP/1.0 1-2 2865 0/175/941 G 5.33 3758 0 0.0 0.95 4.15 67.195.115.215 www.ebouilleursurf.com GET /webmaster/affiliation-webmaster/adulte/feed/ HTTP/1.0 2-2 2951 0/43/1108 G 2.29 3848 0 0.0 0.29 3.77 67.195.115.215 www.ebouilleursurf.com GET /webmaster/affiliation-webmaster/adulte/feed/ HTTP/1.0 3-2 2973 0/3/600 G 0.54 3890 0 0.0 0.00 4.54 67.195.115.215 www.ebouilleursurf.com GET /webmaster/affiliation-webmaster/adulte/feed/ HTTP/1.0 Ca peut etre ca mon probleme?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant