我有一个 VPS(Intel Xeon CPU E5-2630 v4 @ 2.20GHz,4 核 - 8 GB RAM - 200 GB SSD),我正在使用它来托管 Wordpress 博客。我使用 Virtualmin 作为控制面板,操作系统是 Centos 7。
我遇到了性能问题,但我不知道从哪里开始。
top - 21:22:16 up 18:09, 1 user, load average: 9.56, 5.84, 3.38
Tasks: 201 total, 7 running, 194 sleeping, 0 stopped, 0 zombie
%Cpu(s): 90.2 us, 9.4 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.3 si, 0.1 st
KiB Mem : 8008656 total, 801596 free, 3099284 used, 4107776 buff/cache
KiB Swap: 10485756 total, 9760492 free, 725264 used. 4302252 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1722 mysql 20 0 4083800 1.7g 4140 S 66.2 22.1 371:01.54 mysqld
31511 fooshya 20 0 628688 104348 32320 R 34.8 1.3 1:52.20 php-fpm
31582 fooshya 20 0 604552 81988 34116 R 33.8 1.0 2:03.97 php-fpm
31585 fooshya 20 0 632392 113924 39844 R 32.5 1.4 1:36.74 php-fpm
22897 fooshya 20 0 641040 120832 36444 S 32.1 1.5 19:49.99 php-fpm
31587 fooshya 20 0 585320 68164 41188 R 31.1 0.9 1:41.48 php-fpm
22880 fooshya 20 0 939132 143248 47484 S 26.2 1.8 20:49.46 php-fpm
22888 fooshya 20 0 654676 130512 34744 R 25.5 1.6 17:42.91 php-fpm
22883 fooshya 20 0 651084 134228 39416 S 23.8 1.7 19:36.57 php-fpm
31586 fooshya 20 0 725716 67072 45660 S 19.2 0.8 2:16.77 php-fpm
2699 root 20 0 199676 88352 3156 R 16.9 1.1 0:01.40 /usr/libex+
31525 fooshya 20 0 599108 77260 34660 S 14.2 1.0 1:12.42 php-fpm
2698 root 20 0 572180 63264 39288 S 4.3 0.8 0:01.72 php-cgi
1 root 20 0 191312 3064 1668 S 1.3 0.0 0:34.44 systemd
553 dbus 20 0 58444 1068 672 S 1.0 0.0 0:26.30 dbus-daemon
3501 named 20 0 540292 120020 2472 S 1.0 1.5 1:34.29 named
369 root 20 0 81196 34516 34360 S 0.7 0.4 0:31.72 systemd-jo+
我尝试了 Apache、PHP FPM、MySQL 的各种配置,但网站在白天仍然多次无响应。
我非常感谢任何建议。
答案1
您的网站插件显然有问题。您的 VPS 应该能够处理 100 倍的流量(如果一切都经过了优化)。
您需要找到有问题的脚本。使用任何性能测试工具设置一个简单的负载测试(记录一次访问并模拟一千名用户执行相同的操作)。然后禁用一些插件,测试性能,禁用其他插件,再次测试性能……您很快就会找到速度慢的插件。
更换更强大的 VPS 不会带来太大的变化。硬件很难弥补软件的不足。
如果可能的话,还应启用缓存插件。
答案2
您的大部分 CPU 时间都花在了 PHP 代码上,因此您需要开始禁用所有插件和模块,看看是否会产生显著的影响。如果不能,您需要分析正在运行的 PHP 代码,看看代码的哪些部分消耗了最多的 CPU,然后从那里开始。
如果您做不到这一点,您需要权衡聘请 PHP 专业人员的成本与租用具有更多 CPU 能力的 VPS 服务器的成本。