我的新服务器有问题..我使用具有 1GB RAM 的 VPS Centos 并且使用 wordpress CMS。
流量<100 人/小时,但 Apache 负载过高,导致服务器挂起,内存为零,无法通过 ssh 连接。我应该重启 vps 才能让它正常工作
Apache 上的负载如下
Tasks: 66 total, 1 running, 65 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.6%us, 12.3%sy, 0.0%ni, 48.1%id, 23.0%wa, 4.8%hi, 10.2%si, 0.0%
Mem: 1018776k total, 116620k used, 902156k free, 1236k buffers
Swap: 1048568k total, 1013052k used, 35516k free, 26628k cached
2949 apache 20 0 459m 42m 3732 D 3.0 4.2 0:09.23 httpd
2959 apache 20 0 460m 29m 3744 D 2.0 3.0 0:02.72 httpd
2968 apache 20 0 460m 26m 3808 D 2.0 2.6 0:02.27 httpd
2972 apache 20 0 460m 24m 3784 D 2.0 2.5 0:02.44 httpd
2986 apache 20 0 460m 29m 3784 R 2.0 2.9 0:02.40 httpd
2969 apache 20 0 458m 29m 3864 D 1.6 3.0 0:02.63 httpd
2974 apache 20 0 460m 25m 3820 D 1.6 2.6 0:02.43 httpd
2990 apache 20 0 460m 23m 3920 D 1.6 2.4 0:02.36 httpd
2994 apache 20 0 460m 31m 3756 D 1.6 3.2 0:02.62 httpd
2956 apache 20 0 460m 26m 3740 D 1.3 2.7 0:02.73 httpd
2957 apache 20 0 465m 22m 3644 D 1.3 2.3 0:02.80 httpd
2967 apache 20 0 458m 24m 3764 D 1.3 2.5 0:02.60 httpd
2970 apache 20 0 463m 25m 3764 D 1.3 2.6 0:03.07 httpd
2971 apache 20 0 451m 22m 3792 D 1.3 2.3 0:02.47 httpd
2973 apache 20 0 458m 25m 3768 D 1.3 2.6 0:02.52 httpd
2987 apache 20 0 465m 20m 3772 D 1.3 2.1 0:03.02 httpd
但有时服务器正常运行时间超过 5-10 小时,但之后问题就开始出现了
答案1
这可能是您网站上的脚本导致的。请检查您可能已安装的所有插件。
除此之外,请查看以下关于调整/优化 Apache 的文章:
http://blog.oneiroi.co.uk/linux/apache/optimizing-apache-for-high-load-sites-part-2/
答案2
恭喜,您已经使用了几乎所有的交换空间。
这里第一个明显的问题是你深入研究了交换。这可能是导致系统如此严重抖动的原因(在系统中花费了大量时间,I/O 等待和软件中断)。top
不过,看起来你在输出之前终止了一些进程,因此释放了一些内存。
首先要做的是减少正在运行的 Apache 进程数。对于小型网站,您不需要那么多进程,这只会让你陷入交换并降低性能……这已经发生了。我建议您从非常小的进程开始,并在必要时增加进程数。例如:
StartServers 4
MinSpareServers 4
MaxSpareServers 10
MaxClients 25
这限制了您只能同时处理 25 个请求(其他人必须排队等待)。但除非您的博客突然出现在 reddit 首页或其他网站上,否则您不太可能达到这个目标。如果您希望这种情况经常发生,您需要一台更大的服务器和一名随时待命的专业系统管理员。