首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么会导致“太多的数据库连接”?

问什么会导致“太多的数据库连接”?
EN

Stack Overflow用户
提问于 2010-10-09 22:59:20
回答 5查看 18.2K关注 0票数 6

我的Wordpress网站得到了一个“建立数据库连接错误”按摩。

我的主机告诉我,这是因为我的“用户”有太多的数据库连接是一次打开的。这导致了一个错误的建立额外的连接,从而按摩。

通过杀死死锁的数据库连接已经纠正了这一点。有许多连接将数据复制到临时表,但是死锁是由等待一个更新的大量查找造成的。

有人能向我解释一下为什么会发生这种事,以及如何避免吗?

(p.s:该WP装置有2000多个员额)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-10-09 23:12:01

在共享的托管环境中,这种行为迟早会发生,因为您的博客开始看到更多的流量--您提到的细节听起来可能与编写不当的WordPress插件有关(为了性能考虑,确保所有插件都与WordPress内核一起更新)。

如果您还没有考虑过WP超级缓存,您可能还想考虑一下。

票数 6
EN

Stack Overflow用户

发布于 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表进行另一个查询:

代码语言:javascript
复制
OPTIMIZE TABLE wp_posts;

然后,通过将这一行添加到wp-config.php以停止修订,可以防止post/page修订再次累积:

define ('WP_POST_REVISIONS', FALSE);

或用这一行来选择要保留的修订数:

define('WP_POST_REVISIONS', 3);

如果您可以访问MySQL配置文件,请考虑使用GitHub专业/MySQLTuner-perl这样的实用工具优化MySQL以获得更好的性能。

票数 9
EN

Stack Overflow用户

发布于 2010-10-10 14:10:28

有两种选择你可能想看看

如果可用,持久性连接会一次又一次地尝试与MySQL服务器使用相同的连接(该连接不会在PHP之间关闭)。

MySQL max_connections允许增加服务器可能接受的连接数量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3898252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档