如何找到导致性能问题的失控WordPress插件

时间:2011-07-01 作者:TMC

我的共享主机一直在禁用我的网站,因为似乎有一个失控的插件正在绑定mysql。

在他们的日志中,我看到了这些:

# Wed Jun 29 00:00:33 2011
# Query_time: 22.923943  Lock_time: 4.941786 Rows_sent: 100  Rows_examined: 808400
use FOO_wrdp2;
SELECT * FROM wp_slimex_stats LIMIT 808300, 100

# Wed Jun 29 00:00:38 2011
# Query_time: 4.485267  Lock_time: 0.000093 Rows_sent: 100  Rows_examined: 808500
use FOO_wrdp2;
SELECT * FROM wp_slimex_stats LIMIT 808400, 100

# Wed Jun 29 00:00:39 2011
# Query_time: 1.409544  Lock_time: 0.023081 Rows_sent: 100  Rows_examined: 808600
use FOO_wrdp2;
SELECT * FROM wp_slimex_stats LIMIT 808500, 100
请注意wp_slimex_stats 提及和表示大量查询时间。这一部分为我的共享主持人敲响了警钟。

wp_slimex_stats 确实是wordpress db中的一个表,但我的wordpress博客上没有安装或运行这样的插件。它似乎也不是我安装的其他插件的一部分。

我已经做了一次网络搜索,在这个插件上找不到太多信息,但它似乎是一个基于我在上述表格中看到的列(remote\\u ip、language、country、domain、referer等)的日志插件。

我究竟该如何调试它来跟踪插件的实际位置,以便禁用它?

2 个回复
SO网友:ChiCgi

有时插件会在安装时自动将表添加到数据库中,但在禁用插件时不会删除这些表。如果我是你,我会在HTML编辑器中打开我的站点,并对slimex\\u stats(或$wpdb->slimex\\u stats或wp\\u slimex\\u stats)进行全局搜索,以查找在代码中调用SELECT语句的位置。如果您的搜索产生任何结果,请删除有问题的代码。此外,如果您有权访问数据库,则可以删除或重命名表wp\\u slimex\\u stats。一旦您这样做了,WordPress中的PHP代码将开始抛出错误,指出MySQL试图在何处运行这些SELECT语句,但失败了。然后,您可以转到发生错误的代码并删除不好的内容。

SO网友:helenhousandi

搜索wp\\u slimex\\u stats会显示对名为wp SlimStat Ex的插件的引用-您确定没有运行该插件吗?我也在其他人的网站上看到了很多与该表相关的DB错误;也许最好不要使用那个插件。

结束

相关推荐

GPL and plugins

插件开发中心说:“您的插件必须与GPLv2兼容。”。但我发现Topsy插件在GPLv3下。http://www.gnu.org/licenses/rms-why-gplv3.html 声明GPLv2和GPLv3不兼容。那么这应该被允许吗?我想使用Topsy插件中的一些代码。那么,我应该在GPLv2或GPLv3下发布插件吗??