在提出这一点之前,我已经做了相当多的阅读,所以让我先说说我没有用完连接,记忆,或者cpu,而且从我能说出来,我也没有用完文件描述符.
原文链接:https://www.f2er.com/php/139573.htmlCan’t connect to local MysqL server through socket ‘/var/lib/MysqL/MysqL.sock’ (11 “Resource temporarily unavailable”)
这种情况在负载下随机发生 – 但是我推的越多,PHP就越频繁地向我投掷.当这种情况发生时,我可以通过控制台连接本地,从PHP到127.0.0.1,而不是使用更快的unix套接字的“localhost”.
以下是一些系统变量,以消除常见问题:
cat /proc/sys/fs/file-max = 4895952 lsof | wc -l = 215778 (during "outages")
最高使用率:26%(261/1000)
InnoDB缓冲池/数据大小:10.0G / 3.7G(很多o室)
> soft nofile 999999
> hard nofile 999999
我实际上是运行MariaDB(服务器版本:10.0.17-MariaDB MariaDB Server)
这些结果是在正常加载下生成的,并且在休息时间运行MysqLslap,所以慢查询不是问题 – 只是高连接.
任何建议?我可以根据需要报告附加的设置/数据 – MysqLtuner.pl说一切都是一个好的
再次,这里的揭示是通过IP连接工作很好,在这些中断过程中是快速的 – 我不知道为什么.
编辑:这是我的my.ini(有些值可能看起来有点像我最近的故障排除更改,请记住,MysqL日志,系统日志或dmesg中没有错误)
socket=/var/lib/MysqL/MysqL.sock skip-external-locking skip-name-resolve table_open_cache=8092 thread_cache_size=16 back_log=3000 max_connect_errors=10000 interactive_timeout=3600 wait_timeout=600 max_connections=1000 max_allowed_packet=16M tmp_table_size=64M max_heap_table_size=64M sort_buffer_size=1M read_buffer_size=1M read_rnd_buffer_size=8M join_buffer_size=1M innodb_log_file_size=256M innodb_log_buffer_size=8M innodb_buffer_pool_size=10G [MysqL.server] user=MysqL [MysqLd_safe] log-error=/var/log/MysqLd.log pid-file=/var/run/MysqLd/MysqLd.pid open-files-limit=65535