AWS EC2 t3a.medium(Bitnami环境)上WordPress内存耗尽崩溃的PHP-FPM与MariaDB配置优化求助
AWS EC2 t3a.medium(Bitnami环境)上WordPress内存耗尽崩溃的PHP-FPM与MariaDB配置优化求助
大家好,我现在遇到一个非常头疼的问题,想请各位帮忙看看怎么优化配置:
我的WordPress网站部署在AWS EC2 t3a.medium实例上(配置4GB内存),用的是Bitnami的一键部署环境。最近服务器内存经常被完全占满,直接导致网站崩溃,每次都得登录EC2控制台手动重启才能恢复,这对用户体验影响太大了。
我的uptime监控能看到内存持续攀升直到耗尽的趋势(监控图表暂时没法附上,但核心问题就是内存被吃满)。
我自己试着去调整PHP-FPM的配置来缓解,但好像没起到明显作用,目前我的PHP-FPM memory.conf配置是这样的:
# 查看配置的命令:opt/bitnami/php/etc$ cat memory.conf pm.max_children = 47 pm.start_servers = 20 pm.min_spare_servers = 20 pm.max_spare_servers = 30 pm.max_requests = 2500
另外,我也把MariaDB的相关配置贴出来,看看是不是数据库这边也有优化空间:
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
MariaDB memory.conf配置内容
long_query_time = 1 query_cache_limit=2M query_cache_type=1 query_cache_size=128M innodb_buffer_pool_size=256M
MariaDB慢查询日志关键条目
Time: 240520 12:34:56 User@Host: wordpress[wordpress] @ localhost [] Thread_id: 456 Schema: wordpress QC_hit: No Query_time: 12.123 Lock_time: 0.002 Rows_sent: 200 Rows_examined: 15000 SET timestamp=1716194096; SELECT post_title, post_content FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_postmeta.meta_key = 'featured' AND wp_postmeta.meta_value = '1' ORDER BY wp_posts.post_date DESC;
(注:完整日志存在多条类似的慢查询,核心是执行时间超10秒、扫描行数较多的SQL)
请问各位大佬,针对我的服务器配置(4GB内存),PHP-FPM和MariaDB这两块应该怎么调整配置,才能避免内存被耗尽导致崩溃呢?
备注:内容来源于stack exchange,提问作者Damiano Dotto
相关产品推荐
相关产品推荐

