# mysql (mariadb) (2026.1.26更新) mariadbがパフォーマンスの限界を訴えているので,innodb周りの設定を見直す. ``` 1月 25 06:50:39 mariadbd[1716]: 2026-01-25 6:50:39 0 [Note] InnoDB: Pending IO count 1月 25 06:50:39 mariadbd[1716]: ------------------- 1月 25 06:50:39 mariadbd[1716]: Capacity : 90585908 1月 25 06:50:39 mariadbd[1716]: Max Age(Sync) : 80819529 1月 25 06:50:39 mariadbd[1716]: Max Age(Async): 70717088 1月 25 06:50:39 mariadbd[1716]: Current Age : 80149628 : 99% 1月 25 06:50:39 mariadbd[1716]: ------------------- 1月 25 06:50:39 mariadbd[1716]: 2026-01-25 6:50:39 0 [Note] InnoDB: LSN age parameters 1月 25 06:50:39 mariadbd[1716]: ------------------- 1月 25 06:50:39 mariadbd[1716]: Flush Sync LSN: 3071207603073 1月 25 06:50:39 mariadbd[1716]: Flush ASync LSN: 3071207731584 1月 25 06:50:39 mariadbd[1716]: Checkpoint LSN: 3071127581956 1月 25 06:50:39 mariadbd[1716]: System LSN : 3071207731584 1月 25 06:50:39 mariadbd[1716]: ------------------- 1月 25 06:50:39 mariadbd[1716]: 2026-01-25 6:50:39 0 [Note] InnoDB: LSN flush parameters 1月 25 06:50:39 mariadbd[1716]: ------------------- 1月 25 06:50:39 mariadbd[1716]: Dirty Pages: 21806 : 1% 1月 25 06:50:39 mariadbd[1716]: Free Pages : 1522423 1月 25 06:50:39 mariadbd[1716]: LRU Pages : 554249 1月 25 06:50:39 mariadbd[1716]: ------------------- 1月 25 06:50:39 mariadbd[1716]: 2026-01-25 6:50:39 0 [Note] InnoDB: Buffer Pool pages 1月 25 06:50:39 mariadbd[1716]: 2026-01-25 6:50:39 0 [Note] InnoDB: Long wait (5 seconds) for double-write buffer flush. 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: Flush Slot - first_free: 128 reserved: 0 1月 25 06:49:37 mariadbd[1716]: Active Slot - first_free: 128 reserved: 128 1月 25 06:49:37 mariadbd[1716]: Batch running : true 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: 2026-01-25 6:49:37 0 [Note] InnoDB: Double Write State 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: Pending Write: 1 1月 25 06:49:37 mariadbd[1716]: Pending Read : 0 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: 2026-01-25 6:49:37 0 [Note] InnoDB: Pending IO count 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: Capacity : 90585908 1月 25 06:49:37 mariadbd[1716]: Max Age(Sync) : 80819529 1月 25 06:49:37 mariadbd[1716]: Max Age(Async): 70717088 1月 25 06:49:37 mariadbd[1716]: Current Age : 80257224 : 99% 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: 2026-01-25 6:49:37 0 [Note] InnoDB: LSN age parameters 1月 25 06:49:37 mariadbd[1716]: ------------------- 1月 25 06:49:37 mariadbd[1716]: Flush Sync LSN: 3071197070369 1月 25 06:49:37 mariadbd[1716]: Flush ASync LSN: 3071197796760 1月 25 06:49:37 mariadbd[1716]: Checkpoint LSN: 3071117539536 1月 25 06:49:37 mariadbd[1716]: System LSN : 3071197796760 ``` おそらく`innodb_buffer_pool_size = 32G`にしたせいでlogファオルのキャパシティーが足りていないと思われる.`/etc/mysql/mariadb.conf.d/50-server.cnf`のInnoDBの箇所を下記のように修正 ``` # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # Most important is to give InnoDB 80 % of the system RAM for buffer use: # https://mariadb.com/kb/en/innodb-system-variables/#innodb_buffer_pool_size # innodb_buffer_pool_size = 8G # 書き込み遅延が発生しているためメモリ使用量を増やす innodb_buffer_pool_size = 32G # #HDD の負荷を下げるため下記を実施 #https://docs.netapp.com/ja-jp/ontap-apps-dbs/mysql/mysql-innodb_flush_log_at_trx_commit.html innodb_flush_log_at_trx_commit = 2 # Redoログサイズを拡張 innodb_log_file_size = 8G # HDD RAID10 の実効性能に合わせる innodb_io_capacity = 600 innodb_io_capacity_max = 1000 # HDDなので、近隣のダーティページをまとめて書き出す設定を有効にする innodb_flush_neighbors = 1 # 一度に書き出すページ数を増やして効率を上げる innodb_write_io_threads = 8 innodb_read_io_threads = 8 ``` としてmariadbを再起動.再起動に時間がかかるのでtmuxのような環境で実行した方が良いだろう. ``` sudo systemctl restart mariadb ``` 再起動後にload average が70近く上がるが,すぐに落ち着くのでとりあえずは様子見.