我有一个 wordpress 博客,里面有大约 33000 个帖子,数据库大约 2.2gb。博客的速度非常快,除非我尝试发布或更新任何帖子。它会运行几分钟直到超时,但该进程继续在后台以 100% cpu 运行。我想知道是否有任何解决方法?我确信有 wp 可以处理更多的帖子和更大的数据库而不会出现这样的问题。
3 回答
删除您的帖子/页面修订。WordPress 在保存时将每个帖子的完整副本保存为修订文件。这将大大减少您的数据库的大小——我已将数据库减少到其原始大小的 10%——随后会提高性能。请参阅http://wordpress.org/extend/plugins/better-delete-revision/
或者在 phpmyadmin 中运行这个查询:
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'
添加define ('WP_POST_REVISIONS', 0);
到 wp-config.php 文件以防止保存将来的修订。
如果您有自己的服务器,请考虑使用 mysqltuner.pl 来分析 MySQL 数据库服务器和负载,并能够调整您的 my.cnf 文件以获得更好的性能。见https://github.com/rackerhacker/MySQLTuner-perl
还要在数据库中查找其他大的非 WP 表。一些网络统计插件将日志写入数据库,这些表可能会变得很大。即使不使用,如此大的表也会影响性能。停用/删除插件以清除表格,或手动清除表格。
我在我管理的网站上的 wp_posts 表中有 ~14100 个帖子。数据库约为 102MB。使用它作为参考,您的数据库应该是 240MB 左右。为什么你的数据库这么大?
如果在您发布问题时出现问题,很可能是您有一个插件正在尝试做大量工作(可能是您的数据库如此之大的原因),或者可能是试图联系第三方站点,并且正在超时。检查你的插件。如果问题出在哪里不明显,请一一禁用它们。