我的Wordpress网站得到了一个“建立数据库连接错误”按摩。
我的主机告诉我,这是因为我的“用户”有太多的数据库连接是一次打开的。这导致了一个错误的建立额外的连接,从而按摩。
通过杀死死锁的数据库连接已经纠正了这一点。有许多连接将数据复制到临时表,但是死锁是由等待一个更新的大量查找造成的。
有人能向我解释一下为什么会发生这种事,以及如何避免吗?
(p.s:该WP装置有2000多个员额)
发布于 2010-10-09 23:12:01
在共享的托管环境中,这种行为迟早会发生,因为您的博客开始看到更多的流量--您提到的细节听起来可能与编写不当的WordPress插件有关(为了性能考虑,确保所有插件都与WordPress内核一起更新)。
如果您还没有考虑过WP超级缓存,您可能还想考虑一下。
发布于 2010-10-09 23:25:07
在WP和数据库速度方面,我看到了一件非常有帮助的事情,那就是清理您的数据库中的post和页面修改。WP保存了每个编辑修订版的完整副本,并且在2000篇文章中,您的数据库可能是巨大的。在phpmyadmin中将其作为SQL查询运行以清除修订。我看到数据库的大小下降了75%,并且在清除修改后运行得更快。如果在安装WP时更改了该表前缀,则更改它,并在此之前运行备份。
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'
然后在运行该查询之后对表进行优化,以完成对修订的清除,或者从phpmyadmin的下拉菜单中优化整个数据库,或者只对posts表进行另一个查询:
OPTIMIZE TABLE wp_posts;然后,通过将这一行添加到wp-config.php以停止修订,可以防止post/page修订再次累积:
define ('WP_POST_REVISIONS', FALSE);
或用这一行来选择要保留的修订数:
define('WP_POST_REVISIONS', 3);
如果您可以访问MySQL配置文件,请考虑使用GitHub专业/MySQLTuner-perl这样的实用工具优化MySQL以获得更好的性能。
https://stackoverflow.com/questions/3898252
复制相似问题