jeudi 5 mars 2015

PHP / MYSQL connection failures via socket under moderate load


I've done quite a bit of reading before asking this, so let me preface by saying I am not running out of connections, or memory, or cpu, and from what I can tell, I am not running out of file descriptors either.


Here's what PHP throws at me when MySQL is under heavy load:



Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11 "Resource temporarily unavailable")


This happens randomly under moderate load - but the more I push, the more frequently php throws this at me. While this is happening I can always connect locally through the console and from PHP through 127.0.0.1 instead of "localhost" which uses the faster unix socket.


Here's a few system variables to weed out the usual problems:



cat /proc/sys/fs/file-max = 4895952
lsof | wc -l = 215778 (during "outages")
Highest usage of available connections: 26% (261/1000)

InnoDB buffer pool / data size: 10.0G/3.7G (plenty o room)

soft nofile 999999
hard nofile 999999


I am actually running MariaDB (Server version: 10.0.17-MariaDB MariaDB Server)


These results are generated both under normal load, and by running mysqlslap during off hours, so, slow queries are not an issue - just high connections.


Any advice? I can report additional settings/data if necessary - mysqltuner.pl says everything is a-ok


and again, the revealing thing here is that connecting via IP works just fine and is fast during these outages - I just can't figure out why.





Aucun commentaire:

Enregistrer un commentaire