前に書いた記事でMySQLの基本のチューニングがWordPressの速度向上に一定の効果を発揮することが分かりました。
MySQL基本のチューニングでWordPressを速くする | 曖昧/旬.
この記事で適用したのは my-large.cnf というメモリ512MBなシステム向けの設定。実際のサーバには1GBのメモリがあるのですが、Apacheなども動かしているので控え目にしていました。今回は1~2GBメモリ向けの my-huge.cnf を適用して様子を見てみます。
何度も書きますが、チューニング済みのWordPress環境が欲しいだけでしたら網元がお勧めです。
WordPress powered by AMIMOTO (PVM) on AWS Marketplace.
回し者です、はい。
で、早速ですが、効果の程を。
$ for i in 12 13 14 15 16 17; do awk '/^2015-05-'$i',2[123].* \/shun\/index.php$/{t=t+$2;n=n+1}END{print '$i',n,t/n/1000/1000}' /srv/imys.la/logs/microtime_log-20150517 /srv/imys.la/logs/microtime_log; done 12 7 0.395774 13 9 0.560273 14 18 0.336898 15 19 0.326389 16 8 0.486334 17 26 0.448767
15日の20:45あたりで設定変更したので21~24時をサンプリング対象にしています。相変わらずアクセスは少ない。平均すると設定変更前が0.43で変更後は0.42。若干の効果がありそうだが意味のある数字ではない、か。
いや、日ごとの平均を平均しちゃいけない。数字の意味がなくなる。平均を出すならサンプリング数も引き継がなければならない。となると設定前後それぞれをこんな感じで awk にパイプするか?
| awk '{t=t+$2*$3;i=i+$2}END{print t/i}'
平均値を出す基本的な形だね。いや、そんなことしないでこうすれば一発。
$ awk '/^2015-05-1[234],2[123].* \/shun\/index.php$/{t=t+$2;n=n+1}END{print n,t/n/1000/1000}' /srv/imys.la/logs/microtime_log-20150517 /srv/imys.la/logs/microtime_log 34 0.408148 $ awk '/^2015-05-1[567],2[123].* \/shun\/index.php$/{t=t+$2;n=n+1}END{print n,t/n/1000/1000}' /srv/imys.la/logs/microtime_log-20150517 /srv/imys.la/logs/microtime_log 53 0.410566
というわけで、設定変更後の方が若干遅い。ありゃ。でも、こんなの誤差だね。意味ある差ではない。
恐らく自分のブログ程度ではデータ量が大したことないので、MySQLの使用できるメモリが増えたところで動作が速くなることはないのでしょう。そこの限界は my-large.cnf で到達済みと思われる。だから4GB向けの my-innodb-heavy-4G.cnf を試しても無駄。ってか、それはInnoDB用でもあるしね。
というわけで、次はWordPress関連のテーブルでエンジンをMyISAMからInnoDBに変更して様子を見てみましょう。