Amason LightsailからBitnamiブループリント廃止の話があり、
これを機にサーバーを整理するためOSのみのインスタンス(Amazon Linux 2023)を借りてこのWordPressサイトを引越することにした。
基本的には公式チュートリアルを元に、最新のパッケージを使う形で構築した。
しかしなんせメモリの少ない貧乏インスタンスなので、すぐにMariaDBが落ちてしまい、チューニングが必要だった。
そこで設定の参考にするため、これまで使っていたBitnamiがどのようにメモリ量の設定をしていたのかを調べ、
以下記録として残すことにした。
MariaDB
Bitnami WordPress環境のmy.cnfは、/opt/bitnami/mariadb/confにあった。/opt/bitnami/mariadb/conf/bitnami/memory内にいくつかの設定ファイルがあり、インスタンスのプランに合わせて適切なものを読み込むようにしているようだ。
my-micro.conf
[mysqld]
#wait_timeout = 120
long_query_time = 1
query_cache_size=0
innodb_buffer_pool_size=16M
#innodb_log_file_size=128M
#innodb_flush_method=O_DIRECT
#tmp_table_size=64M
#max_connections = 2500
#max_user_connections = 2500
#key_buffer_size=64M
my-small.conf
[mysqld]
#wait_timeout = 120
long_query_time = 1
query_cache_size=0
innodb_buffer_pool_size=256M
#innodb_log_file_size=128M
#innodb_flush_method=O_DIRECT
#tmp_table_size=64M
#max_connections = 2500
#max_user_connections = 2500
#key_buffer_size=64M
my-medium.conf
[mysqld]
#wait_timeout = 120
long_query_time = 1
query_cache_size=0
innodb_buffer_pool_size=256M
#innodb_log_file_size=128M
#innodb_flush_method=O_DIRECT
#tmp_table_size=64M
#max_connections = 2500
#max_user_connections = 2500
#key_buffer_size=64M
my-large.conf
[mysqld]
#wait_timeout = 120
long_query_time = 1
query_cache_size=0
innodb_buffer_pool_size=2024M
#innodb_log_file_size=128M
#innodb_flush_method=O_DIRECT
#tmp_table_size=64M
#max_connections = 2500
#max_user_connections = 2500
#key_buffer_size=64M
my-xlarge.conf
[mysqld]
#wait_timeout = 120
long_query_time = 1
query_cache_size=0
innodb_buffer_pool_size=2048M
#innodb_log_file_size=128M
#innodb_flush_method=O_DIRECT
#tmp_table_size=64M
#max_connections = 2500
#max_user_connections = 2500
#key_buffer_size=64M
my-2xlarge.conf
[mysqld]
#wait_timeout = 120
long_query_time = 1
query_cache_size=0
innodb_buffer_pool_size=4096M
#innodb_log_file_size=128M
#innodb_flush_method=O_DIRECT
#tmp_table_size=64M
#max_connections = 2500
#max_user_connections = 2500
#key_buffer_size=64M
AL2023の場合は、/etc/my.cnf.d/memory.cnfのようなファイルを作って上記のような設定を記載する。
MariaDBを再起動すれば反映される。
sudo systemctl restart mariadb
正しく反映されているか確認したい場合は、MariaDBに入って下記のSQL文で確認できる。
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'query_cache_size';
SHOW VARIABLES LIKE 'long_query_time';
PHP
Bitnami環境のwww.confは、/opt/bitnami/php/etc/php-fpm.dにあった。
ここでも複数の設定ファイルに分かれており、/opt/bitnami/php/etc/memory内のいくつかの設定ファイルからインスタンスのプランに合わせて適切なものを読み込むようにしているようだ。
memory-micro.conf
; Bitnami memory configuration for PHP-FPM
;
; Note: This will be modified on server size changes
pm.max_children=15
pm.start_servers=10
pm.min_spare_servers=10
pm.max_spare_servers=10
pm.max_requests=5000
memory-small.conf
; Bitnami memory configuration for PHP-FPM
;
; Note: This will be modified on server size changes
pm.max_children=30
pm.start_servers=20
pm.min_spare_servers=20
pm.max_spare_servers=22
pm.max_requests=5000
memory-medium.conf
; Bitnami memory configuration for PHP-FPM
;
; Note: This will be modified on server size changes
pm.max_children=60
pm.start_servers=40
pm.min_spare_servers=40
pm.max_spare_servers=45
pm.max_requests=5000
memory-large.conf
; Bitnami memory configuration for PHP-FPM
;
; Note: This will be modified on server size changes
pm.max_children=120
pm.start_servers=80
pm.min_spare_servers=80
pm.max_spare_servers=90
pm.max_requests=5000
memory-xlarge.conf
; Bitnami memory configuration for PHP-FPM
;
; Note: This will be modified on server size changes
pm.max_children=200
pm.start_servers=130
pm.min_spare_servers=130
pm.max_spare_servers=150
pm.max_requests=5000
memory-2xlarge.conf
; Bitnami memory configuration for PHP-FPM
;
; Note: This will be modified on server size changes
pm.max_children=400
pm.start_servers=260
pm.min_spare_servers=260
pm.max_spare_servers=300
pm.max_requests=5000
AL2023の場合は、/etc/php-fpm.d/www.confの該当箇所を上記のように修正する。
PHP-FPMを再起動すれば反映される。
sudo systemctl restart php-fpm
コメント