Aller au contenu

Sujets conseillés

Posté

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 :)

Posté

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

Posté

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)

Posté (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é par ebouilleur
Posté

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é !

Posté (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é par ebouilleur
Posté

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é)

Posté

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 !

Posté

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?

Posté

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?

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...