1

我在专用服务器上运行两个博客,一个每天有 500 个独立访问者,另一个每天有 18.000 个独立访问者,在 cPanel 中我看到 PHP 的 CPU 负载高达 99%,我已经尝试了很多事情,但没有解决负载。

服务器变慢了 250 人在线,500 人启动数据库连接问题,当然网站变得太慢wwwwwwwwwwww。

我也尝试停用所有插件,但似乎其中任何一个都是问题所在。

这些是服务器规格:

CPU: AMD Athlon™ II X4 - 4x 2.3 GHz 4 Cores
Memory: 8GB Memory DDR3 ECC
Disk Controller: RAID 1 Software
First Hard Drive: 1000GB SATA Drive (7200 RPM)
Second Hard Drive: 1000GB SATA Drive (7200 RPM)
Uplink/Port Speed: 100 Mbps Uplink Port
Public Bandwidth: Unmetered 100Mbps
Operating System: Cent OS 6.2 64 bit
Control Panel Software: cPanel/WHM

[PHP] httpd.conf:

StartServers 5
MinimumSpareServers 5
MinimumSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 10000
KeepAlive Off
Timeout 60

WordPress 插件:

Akismet
AZIndex
BackWPup
BulletProof Security
Category Templates Two
Contact Form 7
Easy FancyBox
leenk.me
qTranslate
Really Simple CAPTCHA
Search Everything
SI CAPTCHA Anti-Spam
Stealth Update
Verve Meta Boxes
W3 Total Cache
WordPress File Monitor Plus
WP-PostRatings
WP Total Hacks
4

3 回答 3

1

检查正在使用的内存,top看看它是否达到限制并交换到磁盘。如果一切配置正常,您应该会看到使用的交换接近于零。

对于 PHP,添加一个操作码缓存器,例如 APC、memcached、eaccelerator 等。这将减轻很多负担。

另外,检查 MySQL。如果您不更改出厂默认设置,您可能会丢弃大型服务器。有关此问题的一些想法,请参见此处。我会为此推荐JetProfiler。检查查询缓存等以查看它是否被使用。缓存命中率低意味着它们太小。还要检查全表扫描。很多意味着您需要优化索引(使用此站点来执行此操作),以便慢查询不是问题。

于 2012-12-24T19:33:20.643 回答
0

我们遇到了类似的问题。事实证明,在我们的案例中,它似乎是联系表格 7 / 真正简单的验证码的组合。尝试禁用那些 WP 插件。

如果可行,请重新启用它并清除验证码/tmp 目录和上传/验证码目录。插件似乎没有清理它的垃圾。

如果您已经拥有这些插件的最新版本(最新版本会清理),那么您可能像我一样在 Windows 中运行。在 Windows 中,验证码文件被创建为只读(Windows 文件系统属性),因此清理失败。

因此,如果您使用的是最新版本的插件并且您在 Windows 中工作,那么编辑文件真的简单-captcha.php ...您将在第 67 行附近看到

$this->file_mode = 0440;

$this->answer_file_mode = 0444;

将04400444都更改为0666。这将修复清理机制。

完成此操作后,不要忘记手动删除现有的 tmp 文件,或者至少删除它们的“只读”Windows 文件系统属性。

于 2013-01-15T10:18:46.423 回答
0

您应该考虑为您的高负载站点添加缓存,例如使用 memcached。这很可能会为您节省大量资源。

进一步阅读:

于 2012-12-24T19:25:31.063 回答