BudgetVMを使い始めて、少し経つのだが、現在のロケーションは、Dallasにある。
もちろん、日本からのアクセスでは、それなりに遅延があるので、そこそこのスピードしか出ないのだが、ネットワーク遅延以外にも、Apache+MySQL+WordPressという比較的重い処理では、最適化が重要である。
Tokyoからのネットワーク遅延 # ping -c 5 px1.xaffy.net PING px1.xaffy.net (192.157.245.52) 56(84) bytes of data. 64 bytes from 52.245-157-192.rdns.scalabledns.com (192.157.245.52): icmp_seq=1 ttl=51 time=144 ms 64 bytes from 52.245-157-192.rdns.scalabledns.com (192.157.245.52): icmp_seq=2 ttl=51 time=144 ms 64 bytes from 52.245-157-192.rdns.scalabledns.com (192.157.245.52): icmp_seq=3 ttl=51 time=146 ms 64 bytes from 52.245-157-192.rdns.scalabledns.com (192.157.245.52): icmp_seq=4 ttl=51 time=144 ms 64 bytes from 52.245-157-192.rdns.scalabledns.com (192.157.245.52): icmp_seq=5 ttl=51 time=148 ms --- px1.xaffy.net ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4370ms rtt min/avg/max/mdev = 144.931/145.856/148.298/1.370 ms
この値は、Tokyo –> Dallas:145.8(ms),Tokyo –> Los Angeles:114.2(ms)と日本から比較的近いLos Angelesでも、8,800km前後離れているので、良くして、せいぜいのところが、100(ms)前後である。
しかし、最近当確を現してきた海外のKVM仮想化などのサーバーを借りてみると、たとえ、114(ms)前後のネットワーク遅延でも、そこそこのレスポンスが得られるので、リクエストあたりのクエリーが多いWordPressなどの応答には、リクエストあたりの遅延は、クエリー数それぞれがネットワーク遅延の影響を受けるので、トータル的に見ると、ばかにならない大きさの遅延に拡大してしまう。
CPUのパワーやメモリー搭載量にもよるが、phpのバージョンを上げ、phpモジュールベースのCacheを使ったり、MySQLのクエリーCacheを使うと、良くすれば、遅延の解消が期待できる。
これに関しては、距離が近いところよりも、遠いところでのCacheに対する効果は大きく、如何に速く、リクエストを完結できるかによって、ブラウジング性能には大きな差が付く。
これまで、ネットワーク遅延が、145(ms)ならば、ある程度仕方ないと考えて来たのだが、これまでの、php5.5.x系から、php5.6.x系や、php7.0.x系へ移行すると、大幅なパフォーマンスの向上が期待できるため、少し諦めていたWordPressをもう一度確かめてみることにした。
結果はご覧の通り、見事なまでの変貌ぶりを示してくれているわけである。
OPCacheの性能を期待する場合には、できるだけオンメモリ-で動作させ、無用なディスクIOが発生しないように工夫することで、アクセススピードの向上が出来る。
又、並列的にWordPress上のCacheを有効にするのも効果がある場合もあるが、大抵の場合、HDDアクセスの遅延も、忘れてはならない遅延なので、SSDを採用しているようなサーバーでは効果があっても、HDDベースのサーバーでは必ずしも良好な結果とならないので、この際、WordPressのCacheは使わないほうが良いと判断した。
当面のところ、これでしばらく運用してみる予定である。
旧来の導入記事は、他所にさっさと移してしまったので、当面はそちらとの比較が出来ると思う。
リンク先:http://px24.xaffy.net/