我有一个wordpress 3.5.1网站,它获得了一些流量(80个并发访问者,每秒大约5次点击/页面浏览量)。该网站运行良好,直到访问量激增至约85人。通常有4个管理员同时登录。该站点有8个自定义帖子类型--帖子有3,500个帖子,Press Releases (一个自定义帖子类型)有13000个帖子。所有这些都是在网站上分页的,所以任何一个页面上显示的帖子都不会超过20篇。
我使用的插件只有wp-pagenavi和w3totalcache。
我将WP_DEBUG_LOG设置为true并记录了错误。我得到的主要错误(除了与这个问题无关的各种通知和警告)是mysql已经达到了max_user_connections限制。
我当前的max_user_connections设置为75。我尝试将其设置得更高,但cpu无法处理负载(4个四核cpu,每个cpu 2.17 the,4 4GB )。
是什么导致了如此多的连接?
我已经查看了错误发生时运行的mysql进程,有许多连接显示“睡眠”或“睡眠”(可能是15-20)。我还通过进程日志注意到,httpd在流量高峰期经常重启。
对如何解决这个问题有什么想法吗?
注意:如果您的答案是检查我的wp-config.php文件,并确保我的用户名、密码和主机是正确的,请不要回答。这不是问题所在。该网站在正常流量下运行良好。
发布于 2013-04-26 02:57:58
由于高负载,数据库服务器正在退出。错误日志中有什么?数据库的大小是多少?您是否在my.cnf中使用mysqltuner.pl检查过MySQL服务器的查询加载和缓存设置?https://github.com/rackerhacker/MySQLTuner-perl
WordPress确实会因为大量的文章/页面修订而使数据库陷入困境。使用插件http://wordpress.org/extend/plugins/revision-control/删除它们我已经将数据库减少到原始大小的10%,从而极大地提高了性能。
https://stackoverflow.com/questions/16220288
复制相似问题