このBlogの速度改善2(DB接続の持続)

DB 接続

持続性接続をしてみたかった。
というのも、DNS解決のラグや、TCPセッション確立のラグがあるだろうからという見込みだ。
で、wp-config.php からうまいことやる方法もなさそうだったので、

wp-db.php を直接いじってみた。
私は、php 初心者なのでよくわかっていないが、APIリファレンス的なものを調べてみると DB接続のホスト名に ‘P:’. をつけるというもの

php:wp-db.php

if ( WP_DEBUG ) {
mysqli_real_connect( $this->dbh, 'p:'.$host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
} else {
@mysqli_real_connect( $this->dbh, 'p:'.$host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
}

こうすることで、接続が永続化されていることを、MySQL workbench のモニターで確認した。
当然、デッドロックの問題などがあるのでどうなるかはわからないが、
接続のコストが削られた分、安定した応答速度になったように思えている。
DBリソースも前よりは、積極的に使えている印象だ。

しばらくこれで様子を見てみようと思う。

 

追記

wp-db.php のコンストラクタには、とある定義をすることでDB接続を手動にすることもできるようだが、試してはいない。