ポイ探ニュースでも利用しているWordPressですが、投稿時に異常な負荷がかかり、投稿完了までにかなりの時間がかかっていました。
ロードアベレージを見ても10~30程度。サイトへのアクセスもできないくらいの値です。
そこで、プラグインのQuery Monitorをインストールして、どの処理で速度低下、高負荷になっているのかを探してみました。
ポイ探ではありませんが、他のサイトでMySQLの接続が不安定になる不具合がありました。MySQLのログを見ると下記のようになっています。
****** 11:02:44 mysqld_safe Number of processes running now: 0 ****** 11:02:44 mysqld_safe mysqld restarted ****** 11:02:45 InnoDB: Initializing buffer pool, size = 8.0M ****** 11:02:45 InnoDB: Completed initialization of buffer pool InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequence number in the ib_logfiles! ****** 11:02:45 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... InnoDB: Last MySQL binlog file position 0 27378, file name ./mysql-bin.000015 ****** 11:02:45 InnoDB: Started; log sequence number 0 1487447705 ****** 11:02:45 [Note] Recovering after a crash using mysql-bin ****** 11:02:45 [Note] Starting crash recovery... ****** 11:02:45 [Note] Crash recovery finished. ****** 11:02:45 [Note] Event Scheduler: Loaded 0 events ****** 11:02:45 [Note] /usr/local/mysql/libexec/mysqld: ready for connections. Version: '5.*.**-log' socket: '/tmp/mysql.sock' port: **** Source distribution
このログが、MySQLにアクセスされるたびに出力され、バイナリファイルがどんどんインクリメントされていきます。