Akamai Diversity
Home > WEB サイトのパフォーマンスを測ってみる

WEB サイトのパフォーマンスを測ってみる

ウェブサイトを速く表示させる事がビジネスに直結している方々にとって、技術面で最初に検討する項目の一つに、自社 WEB サイトの性能を計測する事が挙げられます。

先ずは自社サイトが利用者にとって快適なのか?
をパフォーマンスの観点から測ってみる事は重要です。

無償のツールや WEB サイトで簡易的に計測する手法もあれば、APM (= application performance monitoring )の 1 カテゴリーとして、世界中のデータセンタに設置されたエージェント経由で、定期的にレポートを生成してくれるサービスなど、利用用途や目的によって、いくつかツールやサービスがリリースされています。

アカマイも Site Analyzer と呼ばれるツールを提供しており、世界中のデータセンタに配置されたエージェントから、顧客 WEB サイトのページロード時間や、特定のページ遷移に掛かる合計時間を定期的にレポートする事が可能です。

Luna Control Center.jpg



ただし、昨今の WEB を取り巻く環境を考慮した場合、エージェント型の計測手法にはいくつか課題点が挙げられます。
1. エージェントは実際のユーザそのものでは無い

一般的な計測エージェントは、ユーザー同様の振る舞いを模す事が可能ですが、当然ですが WEB サイトを訪れる実際のリアルなユーザではありません。
又、数分~時間間隔でアクセスを行う、仮のユーザーですから、サンプル数も実際のユーザー数に比べて数分の 1 になります。

2. エージェントはラストマイルを計測時間に含んでいない

アカマイも世界中の DC にエージェントを配置していますが、通信環境の良い DC 内に設置しているため、実際のユーザーと ISP をつなぐ、いわゆるラストマイルと呼ばれる箇所の回線品質はテスト結果に反映されません。
一部の APM ソリューションでは、テスト端末にエージェントソフトをインストールし、ラストマイルを含む計測も可能ですが、1 点目の課題同様にサンプル母数は少なくなります。

3. ページロードのどの処理に時間が掛かっているのか不明

ユーザーのブラウザに WEB サイトの URI を入力した後、ブラウザ上でページが描画されるまでには、いくつかのプロセスが必要です。 具体的には、DNS での名前解決、ベースの HTML ファイルの取得、ブラウザ上で処理するスクリプト等の取得、
ブラウザ上でのレンダリング、ページ描画後のクライアント側でのスクリプト処理などになります。トップページのロード時間を計測するのみのサービスでは、各プロセス毎の処理時間の把握が出来ません。


他にもいくつか課題点は挙げられますが、テストの目的によってはエージェント型のテストで十分なケースも考えられますので、課題全てを解決しなくてはいけない訳ではありません。適材適所での利用がお薦めですね。


数年前までは、DSL 回線経由でラップトップパソコンにブラウザ IE6.0 を利用したユーザーを想定したエージェントを設定し、WEB サイトのトップページのロード時間を計測すれば十分な指標となりましたが、ここ数年、デバイス、ブラウザ、サイトの構成などユーザの利用形態が変わってきており、特にモバイル端末でのインターネット利用の伸びが顕著です。

アカマイでは世界中の様々な端末からのリクエスト情報を収集し、4 半期ベースで SOTI と呼ばれるレポートとして開示していますが、 IO (= Internet Observatory)WEB サイトでも公開しています。IO のサイトをご覧いただくと、WEB サイトのユーザーの内、各ブラウザや端末が占める割合を確認出来ます。

io.jpgのサムネイル画像



WEBサイトのパフォーマンスを計測する場合、ユーザーの利用形態に沿った計測を行う事で、実際のユーザー体感に近い形で WEB サイトの性能計測が可能になります。

ノートパソコンの IE ブラウザで快適に描画出来るサイトが、iPhone5 Safari では満足な性能が得られない可能性もあるかもしれません。Safari, Chrome, Firefox, IE 等、ブラウザ毎の性能や、3G, DSL, FTTH など回線状況による性能の差を把握する事で、特定の環境でのみ WEB サイトの性能が良い状況を回避するためのヒントが得られます。

Slide25.JPG


Slide26.JPG


また、ページロードのどの処理に時間を費やしているかを把握する事で、サイト性能向上へ向けたボトルネックが明確になります。

" Navigation Timing " と言えばご存知の方も増えてきたかもしれませんが、ブラウザ上の各プロセス毎の時間を計測する API の実装など、W3C Web パフォーマンス ワーキング グループの活動を中心に、WEB サイトの性能評価の手法を標準化する取り組みが進んできました。 APM のソリューションベンダーなどは RUM (= Real User Monitoring)と呼ばれるソリューションで、従来のエージェントベースでの課題を解決し、ユーザーのWEB サイトの閲覧時における各プロセスの処理時間を可視化するサービス・製品をリリースしています。

timing-overview.png


W3C: Web Performance Working Group
http://www.w3.org/2010/webperf/
https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html

RUM では、仮では無く、実際のユーザーがサイトを訪れた際のページロード時間とユーザー数の分布をグラフ化する事などが可能になります。アカマイも RUM への取り組みを強化していますので、先ずは WEB サイトの速度やボトルネックを可視化したい方はぜひお声掛け下さい。






Leave a comment