优化Bitnami EC2 t3a.medium示例上WordPress的PHP-FPM配置

hkmswyz6  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(98)

我正在使用Bitnami在AWS EC2 t3a.medium(4Gb Ram)示例上运行WordPress网站。服务器的RAM经常被完全填满,导致服务器崩溃,我需要从ec2控制台重新启动它。
我已经考虑过调整我的php-fpm设置来缓解这个问题。
以下是当前配置:

pm.max_children=60
pm.start_servers=40
pm.min_spare_servers=40
pm.max_spare_servers=45
pm.max_requests=5000

也许它可能太大了!以下是我正在考虑的配置:

pm.max_children = 47
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.max_requests = 1000

1.对于一个拥有4GB RAM的t3a.medium示例来说,这是一个合理的配置吗?有什么改进的建议吗?
1.在应用这些设置后,有哪些最佳方法来监控系统,以确保它们有效?
这是按RAM降序排序的htop命令:

谢谢你
MariaDB配置文件:

[mysqladmin]
user=****************

[mysqld]
skip_name_resolve
explicit_defaults_for_timestamp
basedir=/opt/bitnami/mariadb
port=3306
tmpdir=/opt/bitnami/mariadb/tmp
socket=/opt/bitnami/mariadb/tmp/mysql.sock
pid_file=/opt/bitnami/mariadb/tmp/mysqld.pid
max_allowed_packet=16M
bind_address=127.0.0.1
log_error=/opt/bitnami/mariadb/logs/mysqld.log
slow_query_log=1
slow_query_log_file=/opt/bitnami/mariadb/logs/mysqld_slowquery.log
long_query_time=10.0
character_set_server=utf8
collation_server=utf8_general_ci
plugin_dir=/opt/bitnami/mariadb/lib/plugin

[client]
port=3306
socket=/opt/bitnami/mariadb/tmp/mysql.sock
default_character_set=utf8
plugin_dir=/opt/bitnami/mariadb/lib/plugin

[manager]
port=3306
socket=/opt/bitnami/mariadb/tmp/mysql.sock
pid_file=/opt/bitnami/mariadb/tmp/mysqld.pid
!include /opt/bitnami/mariadb/conf/bitnami/memory.conf

memory.conf:

long_query_time = 1
query_cache_limit=2M
query_cache_type=1
query_cache_size=128M
innodb_buffer_pool_size=256M
uqjltbpv

uqjltbpv1#

您在同一台机器上运行了php和MariaDB服务器软件,但您没有向我们显示任何MariaDB配置数据。MariaDB可以使用大量的RAM,如果不了解更多信息,就不可能提出详细的调优建议。
也就是说:您应该考虑两种可能的故障模式。
一个是php / WordPress代码中的内存泄漏。如果这些存在,您的php进程(“子进程”)将消耗越来越多的RAM,直到它们在处理完每个pm.max_requests后退出并重新生成。作为一个实验,您可以将pm.max_requests减少到比5000小得多的数字。100可能是一个很好的尝试数字。如果你的内存耗尽问题解决了,那么php / WordPress内存泄漏就是问题所在。(接下来你会问如何修复它们,但这是另一个问题,回答这个问题需要知道你运行哪些插件以及所有这些。
另一个原因是你的RAM配置中同时出现了太多的php进程。为了检验这个假设,减少你的pm.max_children。把它切成两半。有时候,矛盾的是,更少的进程可以改善响应时间。这是因为更少的并发请求会减少服务器软件中的争用/拥塞。
从长远来看,如果您的流量和收入证明合理,您可以考虑将MariaDB服务器放在不同的VM上。

相关问题