Mysqld.bin 和 php-fpm 占用了我所有的 CPU

Mysqld.bin 和 php-fpm 占用了我所有的 CPU

mysqld.bin 和 php-fpm 占用了我所有的 CPU。

以下是 top 运行 10 次的输出:https://gist.github.com/two7sclash/5081188dd00e8fc6bfcb

理论上来说,我有足够的内存和 CPU 来处理负载,所以我不明白发生了什么。OpCache 正在运行,还有几 GB 的交换空间等。

这是我的 opcache 设置:https://wiki.bitnami.com/Components/PHP#How_to_install_OPCache_for_PHP.3f

zend_extension=/opt/bitnami/php/lib/php/extensions/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

服务器规格:AWS C3 Large(c3.large、3.75 GiB RAM、7 ECU)。

不确定这是否与我在这里遇到的问题有关:https://community.bitnami.com/t/is-xcache-responsible-for-site-hanging-upon-loading-new-php-files/26355

答案1

“我有足够的内存和 CPU 来承载负载”——显然你没有。

您可以让当前的工作量适应可用资源,也可以扩展资源以适应工作量。

“让 OpCache 运行” - 调整 PHP 比仅仅启用缓存要复杂一些。这当然是一个起点,但下一步应该是检查它的大小是否足够大(与 APC 不同,opcache 不会驱逐陈旧或较旧的条目 - 当它已满时,整个缓存将被驱逐并逐步重新填充)。

接下来检查您是否对 memory_limit 进行了合理的设置 - 太高或太低都会导致额外的 CPU 负载。

接下来进行分析和调试。

答案2

bitnami 的好心人帮我解决了这个问题:https://community.bitnami.com/t/mysqld-bin-and-php-fpm-eating-up-all-my-cpu-c3-large/27015/4?u=sysadmin

请注意,您有许多 PHP-FPM 进程,它们正在消耗资源。您有几种选择:

配置 WordPress php-fpm 进程以在需要时自动启动。您可以在 php-fpm/pool.conf 文件中添加此选项:

pm=ondemand

您还可以在以下文件中减少每个应用程序的 php-fpm 进程数:

php/etc/common-dynamic.conf

pm=dynamic
pm.max_children=5
pm.start_servers=2
pm.min_spare_servers=1
pm.max_spare_servers=3

php/etc/common-ondemand.conf

pm=ondemand
pm.max_children=5
pm.start_servers=2
pm.min_spare_servers=1
pm.max_spare_servers=3

相关内容