我有一个WordPress的3.5.1站点获得一点点的流量(80个并发访问者,每秒约5次点击/浏览量)。该网站运行良好,直到它达到约85人。通常有4个管理员同时登录。该网站有8个自定义帖子类型 - 帖子有3500个帖子,新闻发布(自定义帖子类型)有13000个帖子。所有这些都是在网站上分页的,所以在任何一个页面上都不会有超过20个帖子。WordPress的网站 - 错误连接到数据库 - 只有在高流量
我使用的唯一插件是wp-pagenavi和w3totalcache。
我将WP_DEBUG_LOG设置为true并记录了错误。我得到的主要错误(除了与此问题无关的各种通知和警告),mysql已达到max_user_connections限制。我试图把它设置得更高,但是CPU无法处理负载(4个四核CPU,每个2.17GHz,4GB的RAM)。
什么可能导致这么多的连接?
我查看了错误发生时运行的mysql进程,并且有很多连接表示“SLEEPING”或“SLEEP”(可能是15-20)。我还注意到通过进程日志,httpd在交通高峰期间经常重启。
有关如何解决问题的任何想法?
注意:如果您的答案是检查我的wp-config.php文件并确保我的用户名,密码和主机是正确的,请不要回复。这不是问题。该网站在正常流量下正常工作。
检查第一个答案这个问题http://stackoverflow.com/questions/9083060/mysql-kill-sleep-connections。 – 2013-04-25 18:25:32
这听起来像一个选项(即减少wait_timout变量),但是这会带来什么影响?这会开始杀死实际使用的连接吗?我想确保管理员在尝试编辑某些内容时不会被踢出。另外,将这个变量设置为什么是合理的数字? – codescribblr 2013-04-25 19:07:30
这不会影响登录的用户会话。您的问题可以在服务器默认情况下更好地解决,因为它与更多的服务器设置相关检查这个答案关于同一主题,以获得更好的主意:http://serverfault.com/a/71379。 – 2013-04-25 21:05:47