Erreur temporaire Can't connect to local MySQL server

WRInaute passionné
Bonjour,

Sur mon gros serveur en principe bien configuré, une erreur bien connue apparaît de temps en temps
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (11)

C'est une des erreurs mysql les plus fréquentes sauf que je n'arrive pas à comprendre pourquoi elle apparaît de temps en temps et donc comment l'éviter.
Elle apparaît plus volontiers quand il y a beaucoup de connectés, ce qui tendrait à dire qu'une limite est atteinte quelque part (RAM et CPU ok).
Y'a-t-il un paramètre qui pourrait expliquer cela ? Merci.
 
Nouveau WRInaute
Salut !
Humm regardes tes logs... un admin qui ne regarde pas ses logs est un mauvais :twisted:

Sinon, dans le fichier my.cnf, tu as le paramètre :
max_connections = xxx
(en supposant que c'est le nombre de connexions qui est dépassé)

Si tu l'augmentes, n'oublie pas de faire un
/etc/init.d/mysql reload
 
WRInaute accro
Si c'est un mutu tu a aussi le nombre de connections simultannées possibles dans ton panneau admin ou les caractéristiques de l'offre.
 
WRInaute passionné
Hello,

généralement quand il s'agit d'un problème de quota le message est assez explicite.

Comment te connectes tu au serveur ? Tu indiques "localhost" ou non ?
 
WRInaute passionné
C'est un dédié (et pas un petit, 8Go de RAM). Oui je m'y connecte en localhost.

Le max_connexions est suffisamment élevé.

J'ai désactivé les logs mysql-bin car cela enregistrai toutes les requêtes et jamais autre chose. (et quand on a 200-300 requêtes secondes, ça gonfle très vite et devient illisible)
Slow-query n'enregistre pas beaucoup de requêtes "lourdes". (sinon ça ferait grimper le taux de processus de toutes façons)

Je vous copie le my.cnf :

max_connections=500

key_buffer = 300M
max_allowed_packet = 16M
thread_stack = 128K
tmp_table_size = 128M
thread_cache_size = 180
max_heap_table_size = 256M
max_tmp_tables = 128
sort_buffer_size = 6M
myisam_sort_buffer_size = 64M
read_rnd_buffer_size = 2M
join_buffer_size = 3M
read_buffer_size = 5M
long_query_time = 2
thread_concurrency = 4

Si vous y voyez une grossière erreur, hésitez pas. Merci.
 
WRInaute passionné
C'est une bestiole avec 8Go de mémoire et tu n'alloues pas grand chose à ton MySQL là. Mais mis a part cette éventuelle incohérence, je ne vois rien qui puisse empêcher une connexion.

Ton thread_cache_size me semble énorme par contre... mon plus gros serveur MySQL en est à 64 et c'est un cluster PHP qui le malmène. Enfin, pourquoi pas après tout.
Et tu as fréquement 180 connexions simultanées ?


EDIT: normal que tu n'ais que peu de "slow queries" si tu laisses le long_query_time à 2 secondes, non ?
Enfin pour un site, une requête de 500ms me semble déjà bien lourde.
 
Discussions similaires
Haut