ServerMan@VPSに移行したということもあり、自由にサーバの設定をいじれるようになったので、高速化のためのチューニングを色々試してみました。現在のところどれくらい速くなったかというと、先日のhetemlからServerMan@VPSに移行完了で当サイトのトップページの表示速度が0.3s程度まで縮小されたと記述しました。気づけばhetemlの時より半分以下になっていますね。今回のチューニング後は0.23s程度まで短縮されました。なんとか、0.1s台までチューニングしたいところです。
また、今回チューニングを行ったのはWordPress自身ではなく、WordPressを実行するサーバ側です。行ったのは下記のチューニングです。
PHPはインタープリタ言語と言われる、実行時に動的にコンパイルする言語です。そのため、実行毎にコンパイルするのではなく、コンパイル結果をキャッシュする為の役目をPHPアクセラレータが担ってくれます。
代表的なPHPアクセラレータにはGIGAZINEの下記の記事が詳しいです。
PHPアクセラレータで一番高速なのはどれか? – GIGAZINE
今回ServerMan@VPSに導入したのは、APCというPHPアクセラレータです。インストールに関しては下記を参考にしました。
次に行ったのがApacheが配信するデータを圧縮するというもので、Apache1.3まではmod_gzipモジュールが、Apache2.0からはmod_deflateモジュールというのを使用して行います。
今回使用しているApacheは2.x系なので、mod_deflateを使います。
導入に関してはCentOSでyumでhttpd-develをインストールすると初期状態でmod_deflateが有効になっているので今回は割愛します。設定方法に関しては下記が参考になります。
ちなみに、mod_cacheとmod_deflateを併用して描画時間が短縮されるか確かめてみたのですが、同程度だった為、単体でより短縮されるmod_deflateを利用しました。ただ、mod_deflateは毎回配信するデータを圧縮するのでCPUに負荷がかかります。回線の使用帯域とCPUリソースを天秤にかけてmod_cacheもしくは、mod_deflateどちらかを使用するか決めると良いかと思います。
MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.13 MySQL クエリ キャッシュ
最後に行ったのがMySQLで発行されるSQLクエリをキャッシュするというもの。設定方法に関しては下記が参考になります。
大きな設定に関しては上記の通りです。サーバ監視アプリのMuninをサーバにインストールしたので、これから定期的に計測して細かいチューニングを行います。また、改善されるようなチューニングが見つかった時には書きたいと思います。
今回のチューニングはあくまでもServerMan@VPSの限られたリソース内でのチューニングなので、サーバスペックが変わればチューニング方法も変わる可能性がありますので、各自のサーバスペックと相談の上チューニングを行ってください。また、今回はサーバ側の設定のみでWordPressには依存しないものなので、基本的なLAMP環境のチューニングとしても利用可能です。
最後に下記は上記のチューニング項目の現在の設定値になります。
APC Support enabled
Version 3.0.19
MMAP Support Enabled
MMAP File Mask no value
Locking type pthread mutex Locks
Revision $Revision: 3.154.2.5 $
Build Date May 13 2010 14:20:28Directive Local Value Master Value
apc.cache_by_default On On
apc.coredump_unmap Off Off
apc.enable_cli Off Off
apc.enabled On On
apc.file_update_protection 2 2
apc.filters no value no value
apc.gc_ttl 3600 3600
apc.include_once_override Off Off
apc.max_file_size 1M 1M
apc.mmap_file_mask no value no value
apc.num_files_hint 1000 1000
apc.report_autofilter Off Off
apc.shm_segments 1 1
apc.shm_size 30 30
apc.slam_defense 0 0
apc.stat On On
apc.stat_ctime Off Off
apc.ttl 0 0
apc.user_entries_hint 4096 4096
apc.user_ttl 0 0
apc.write_lock On On
| have_query_cache | YES |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 33554432 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
Tags: LAMP, ServersMan@VPS, WordPress, チューニング
WordPressのversion 2.9.2がリリースされましたので、さっそく当ブログもアップグレードしました。
WordPress 2.9.2のChangelogはこちらになります。
Tags: WordPress, WordPress2.9
この度、当サイトのCMSであるブログエンジンのWordPressを2.8から2.9にバージョンアップしました。バージョンアップ作業自体は、オートアップグレード機能で行っただけです。
公式ブログのリリース記事は下記からどうぞ。
WordPress & Blog >> WordPress 2.9, oh so fine
今回のバージョンアップで、wordpress内で画像の編集が出来たり、プラグインのアップグレードをまとめて行えるようになったりさらに便利になっています。
また、個人的に嬉しいのは、現在、youtubeなどで配信している動画コンテンツをブログの記事に貼り付ける事が多くなっていますが、以前までのwordpressのバージョンだと、記事に動画コンテンツを入れても編集画面に視覚化されなかったので、わかりずらかったのですが、それが今回のバージョンアップで視覚化されるようになったので、編集が楽になりました。
今回のバージョンアップでは、管理画面は特に大きく変化はありませんでしたが、次期メジャーリリースでは、管理画面のUIも大幅に変更されたりするんですかね。
Tags: WordPress, WordPress2.9
ひなたぼっこしたり、近所の猫と遊んだり楽しそう。
自分もそんな生活がしてみたいw
とまぁ、タイトルの通り、アップグレードしてみました。まだ、これといって変わった点などはあんまりないんですが、どうなんでしょう。
まぁ、自分の場合は、画像のアップロードのディレクトリを年月日で3階層にしているので、それの修正をちょこっと行いました。まぁ、毎回アップグレードの度に行っているので慣れましたがwというか、誰かそう言うプラグイン使ってくれないですかねw月単位でディレクトリに納めると結構な数になってしまうんですよね。
2.6→2.7ほど大きな変化はありませんが、良くなっていることを祈りますw
詳しい更新内容については、こちらからどうぞ。
Tags: WordPress, WordPress2.8
今まで、wordpressのアップグレードと言えば、公式サイトからソースをダウンロードしてきて、サーバへアップロードってやってたんですけど、2.7からCMS内でアップグレードの作業が完結するようになっています。
感覚としては、プラグインのオートアップグレードと同じです。
ただ、自分でカスタマイズしているソースも強制的にアップグレードされているのか気になったので、調べてみました。
調べた結果、きっちり更新されていました。まぁ、いちいち自分で全ソースアップロードする作業を考えれば全然楽なので、目をつぶろうかと思います。
Tags: WordPress
wordpress2.7がリリースされていたので、アップグレードしてみました。
管理画面のインタフェースがさらにグラフィカルになっていたんですが、個人的にはUIとして以前の方がまだ使いやすいかなといった感じです。
まぁ、 まだ新しい機能で何かが加わったとかっていう情報は集めて無いので、フロントに関してはほとんど変わっていません。ただ、一つ変わったとすれば、以前まで 使用していたSimple Taggingというプラグインが使用不可になっていたので、関連記事が表示されなくなっています。
まぁ、これもそのうち対応版が出てくることと思いますので、そのうち復活させたいと思います。デフォルトで関連記事表示できるようになってくれると助かるんですけどね^^;
Tags: WordPress, WordPress2.7
今回もブログのデザインを一新してみました。
今回のデザインは「Google Chrome」です。
シンプルなデザインの物を探していたので、結構自分に合った物が見つかりました。
また、記事の幅も広いのでプログラムコードもうまく載せれそうです。
ただ、画像のサムネイルが結構小さく感じますね^^;
以前の記事で、PHPで10進数<->32進数のソースコードを表示したんですけど、その時に「WP-Syntax」というプラグインを使ってみました。
ブログ上にも関わらず、綺麗に色分けされたプログラムコードが表示されてます。
wordpressを使用していて、プログラムコードを表示することが多い方は入れてみてはいかがでしょうか?
今朝インストールした、「WP Super Cache」を早速アンインストールしました。
なぜかというと、現在、ブログのモバイル対応に「Ktai Style」というプラグインを使用していたんですが、どうやらモバイル用のテンプレートを読み込まないといけないのに、PC用のテンプレートを読み込んでしまい、PC用テンプレートで表示されてしまっていました。
別段速度的にも劇的に変わるほどでもないので、アンインストールしました。
昨日の夜はなぜか、自宅のネットワークがえらく重かったので、今日早く起きて、このブログに新しくpluginを2つほど追加してみました。
一つ目は、ブログの一番下にメッセージが出ていますが、「WP Super Cache」です。特にブログが重いなぁとかは無かったんですが、早いに越したことが無いので導入してみました。あまり体感速度的に変わりがなければ、解除するかもしれません。
そして、二つ目は、「@Reply \w comment preview」というもので、コメントへの返信が楽になりました。以前までは、コメント著者の名前をコピって、○○さんへみたいなメッセージを自分でコメント欄に記入していましたが、このプラグインを導入することで、リンク一つで可能になりました。もし、気になる方はコメントがある記事で試してみて下さい。
このプラグインに関しては、リンク押下時にコメント入力欄に画面遷移しないので若干ユーザビリティが悪いかな(まぁ汎用的ではありますけどね)と感じたので近いうちに修正するかもしれません。このプラグイン自体に修正するか、別途リンクを追加するかはまだ未定です。
今日はこんな感じですかね。。。あと10分くらいで自宅出ないと遅刻w