今回のテーマは「Webパフォーマンス」
日本では高速なインターネット回線が普及したこともあって、Webサービスに素早くアクセスできるようになっている。しかし、そのためか、かえってWebサービスのレスポンスがちょっとでも悪いとストレスを感じらてしまう。とくにWebアプリケーションやCGMサイト、Eコマースサイトのようなケースではレスポンスの遅さがビジネス上の失策につながるケースも少なくない。
最近では多数の画像やサイズの大きなJavaScriptを使ったWebサイトも増えており、そのためにさらにパフォーマンスが落ちている。JavaScriptやHTMLのレンダリング性能向上も意味はあるが、そもそもWebサイトのパフォーマンスを向上させるためにできることはもっとあるはずだ。
そこで今回はWebサイトのパフォーマンスを向上させるのに使えるWebアプリケーション、オープンソース・ソフトウェア(OSS)を紹介しよう。企業でも個人でも、Webサイトのパフォーマンスを向上させればユーザはもっと便利に使ってくれるようになるはずだ。
今回紹介するOSS・Webアプリ
『Load Impact』 負荷テストで海外向けサービスのレスポンス測定
『New Relic』 手軽に導入できるパフォーマンスモニタ
『ShowSlow』 「YSlow」のパフォーマンス測定データを共有
『Page Speed』 Google提供のパフォーマンスチェッカー
負荷テストで海外向けサービスのレスポンス測定
名称 | Load Impact |
---|---|
URL | http://loadimpact.com/ |
『Load Impact』はオンラインの負荷テストサービスを提供している。低速なWebサービスはそれだけで機会を損失していると言えるので、レスポンスタイムを向上すればPVや売上増につながる可能性がある。そのための測定を行うのがLoad Impactだ。
フリーのソフトウェアでもアクセス負荷テストを行うツールはあるが、Load Impactの特徴としてアクセス元がヨーロッパにあるというのが挙げられる。海外向けのサービスなどに対して日本国内からアクセスしていても思ったような改善につながらないケースもある。別拠点からの負荷テストを実現できるのが便利だ。
無料で5回までのテスト結果を保存でき、有料で250~5000ユーザの範囲でテストが行なえる。日本国内に限らないサービスを展開している際にはとくに便利ではないだろうか。
手軽に導入できるパフォーマンスモニタ
名称 | New Relic |
---|---|
URL | http://www.newrelic.com/ |
『New Relic』はRuby on Rails用のパフォーマンスモニタリングツールだ。プラグインベースでインストールしておくことで、アクションの実行時間やSQLの実行時間など様々なデータを取得、グラフ化してくれる。現状のシステムに手を入れることなく、手軽に導入できるのが利点だ。
開発時にはより細かくデータが得られるが、運用しているサーバからもデータを得ることができる。実際のユーザの利用度合いを見てパフォーマンスを向上させられるのは便利だ。現状の分析だけでなく、これまでの履歴も追えるため、いつの時点からパフォーマンスが低下しているかといった情報も把握できるようになる。
Webサービスは一度作ったら終わりではない。常に変化している。システムもデータ量も変わり、その時に応じた調整が必要になるはずだ。常時New Relicを使っていれば、必要なタイミングで必要なデータにアクセスできるはずだ。
「YSlow」のパフォーマンス測定データを共有
名称 | ShowSlow |
---|---|
URL | http://www.showslow.com/ |
Yahoo!では「YSlow」というWebサイトのパフォーマンス測定を行なうFirefoxアドオンを提供している。その測定データを登録できるサーバが『ShowSlow』だ。公開されたWebサービスもあるが、独自でサーバを立てることもできる。開発時のデータは独自のサーバにためたほうがよいだろう。
パフォーマンスはクライアント環境によっても変わってくる。そうした各クライアントによる誤差を吸収してくれるのもShowSlowの魅力だ。皆で測定したデータを持ち寄れば、Webサービスの更新や新機能追加によってパフォーマンスがどのように変化したかもすぐに分かるようになる。また、有名サイトがどこに重点を置いてパフォーマンスを向上させているかも知ることができるので、とても有益なソフトウェアだ。
Google提供のパフォーマンスチェッカー
名称 | Page Speed |
---|---|
URL | http://code.google.com/p/page-speed/ |
前述のYSlowはYahoo!によるソフトウェアだが、『Page Speed』はGoogle製のパフォーマンスチェッカーだ。YSlowと同じくFirefoxアドオンとして動作する。Gzip圧縮やネットワーク接続状況など、YSlow同様の測定結果に加え、各設定項目の改善によるパフォーマンス向上の目安数値を出してくれる点が特徴だ。
数値で見せられると改善によって得られるメリットが分かり、費用対効果も分かりやすい。さらに使われていないCSSのクラスをリストアップする機能など(つまりこの部分は消せる可能性がある)、サイズを極力小さくするために必要な機能が数多く盛り込まれている。
コネクション数を減らしたり、サイズを圧縮して転送量を減らしたりすればWebサーバの負荷は下がり、より多くのコネクションをさばけるようになる。高負荷で悩んでいるWebサイトなどはぜひ使ってみてほしい。
いかがでしたか?
ひとことでWebサービスを改善するといっても、ボトルネックとして考えられる個所はいくつか考えられる。また、最初のリリースではよく考えられていても、日々の運用の中で状況が変わってきたことで、想定外の負荷が発生するということはよくある。そうした状況に対応するには日々のステータスを測定し、記録していく作業が必要だ。
そして改善を行なったら、それが数値化されたり、一覧として結果が見られたりするとよいだろう。より効率的にパフォーマンスを向上させるためにも、現状と結果の把握を今回紹介したようなツールを使って正しく行なおう。
著者プロフィール:MOONGIFT 中津川 篤司(なかつがわ あつし)
1978年生まれ。オープンソース紹介サイト「MOONGIFT」管理人。プログラマ、SE、ITマネージャを経て、オープンソースのビジネス活用を推進する。現在は独立し、Webサービスのコンサルティング、プロデュースを行う。