大阪で(ry

明治時代の大阪の活気を再び!

大阪の皮を被った、技術メモと開発日記。

IT総合

WordPressを高速化してみた

さくらのVPSを使っているんだけど、あまりにも速度がひっかかるのでちょっと周辺見直し

さくらVPSが遅いとか重いで検索すると一発で出てくるのでTSO問題
調べたらTCP制御をNIC(Network Interface Card)にさせようとしているみたいね
で、これをOffにすればいいよという話
最近調べてみたらさくら本家のサポートページにも解決法がのってた

「さくらのVPSで回線速度が遅くアクセスに時間がかかります。」
http://sakura.custhelp.com/app/answers/detail/a_id/1368

続いて、MySQLの見直し
my.cnf チューニングとかでググって情報を元に調整
Apacheの見直し
ここで問題なのがgzip圧縮を使うかどうか

コンテンツをgzip圧縮してから転送するのでトラフィックとかのコストは下がる
けど、CPUに負担はかかる
サーバー側で他の事を処理している場合とかOffの方がいいんじゃないかなーと思ったり
最近のCPUは高速だからあまり気にすることないだろうけど
それと、他の部分でトラブルが起きたり
昔、どうしてもHTMLの下の方にゴミが混じるので、どうしたものかと悩んでてなんとなくmod_gzipを切ったらすんなり解決した
一応、有効にはしているけど

PHPのキャッシュ対策
5.5から導入されたopcacheをそのまま使用
iniの設定には

opcache.revalidate_freq=2

freqの設定はもっと大きい数字の方がいいようだけど、それだと後から変更を加えた場合に
なかなか反映されないという弊害が
次にopcacheだとオブジェクトデータはキャッシュされないとの事なのでAPCuも使用(併用)
APCじゃなくてAPCuね、APCだと5.5環境では動かないから

pecl install apcu-beta

memcachedの導入って前から導入してたけど

WordPressのキャッシュ系プラグインとしては

  • WP Super Cache
  • DB Cache Reloaded Fix
  • Tribe Object Cache
  • WP Memcached Manager

を導入
キャッシュ系以外では
サイトだけでなく管理画面も高速化WP Hyper Response
巷ではサイトの高速化だけで満足している方が大勢いるようだが
いくらサイトが軽くても、肝心の記事編集画面である管理画面が重いと意味が無いよねと
WP DB DriverはPHPのMySQLへのドライバとして従来のmysqlではなくmysqliを使用するようにするもの

最後に、自分でソースからコンパイルする
これまでGCCを使ってたけど、clangに乗り換えてみた
パフォーマンスとしてはGCCと遜色ないようだけど
ただ、yumやrpmとかで入れるより自分で最適化オプションを指定したりして
自分のサーバー環境に特化した最適化(CPUに合わせた最適化)も、こころもち念のためやってみようという事でやってる
LTO(Link Time Optimization)とか効いてるのかよくわからんけど・・・

そしたら体感的に感じて速くなった!!!
速度計測すると忘れたけど・・・
最後にGMetrixで計測すると80%超え達成・・・ってまだまだだなw

余談
WordPressで文字を太くしようとしたりすると<b>タグがそのまま入るのどうにかならないかな・・・
せめてstrong・・・(私は手書きでstyleで書いてるけど)
http://goo.gl/eA3B5f
非推奨にされたと思ったらHTML5で解除されてるんだね