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接続を手動にすることもできるようだが、試してはいない。