まずは「ウェブパフォーマンスの見える化」から 目を背けず現実と向き合おう
それでは実際に、どのようにして速度改善に取り組んでいけばいいのか。まず行うべきは、「ウェブパフォーマンスの見える化」だと言う。
ここで村田氏は、2010年に行われた「Google Developer Day 2010 Japan」で披露された「Don't Guess! Measure!(推測するな!計測せよ!)」という言葉を引用した。そして、「測定結果からボトルネックを特定し修正するという原則は、10年前から変わっていない」と語ったうえで、こう続けた。
「測定して十分に高速であれば、その施策は完了とすることができます。アメリカでは、1秒以内で表示完了できれば十分と言えるレベルであり、日本では3秒と言われているが、今後は日本もアメリカレベルを指標にすべきです」(村田氏)
また、ウェブパフォーマンス業界に伝わる「エンドユーザーに対するレスポンスタイムのうち、80~90%はウェブフロントエンドで発生している」という言葉に対し、村田氏は「実際には、ウェブサイトやビジネスによって異なるのではないか」と疑問を呈した。IDOMの場合、フロント領域がボトルネックになっているケースは、半数ほどだと言う。
さらに、パフォーマンス向上のための指標として、速度計測をウォーターフォールで表したものがあるが、それについても村田氏は「その場限りの計測で、瞬間最高速でしかない可能性が高い。他の時間や状況で異なる可能性もあり、真のボトルネックを見出しにくい」と評した。
「IDOMでは、Spelldata が提供する『Catchpoint』で15分に1回測定する累積分布関数のグラフを用いました。改善は歪みを正し、高いところを抑制していく。24時間365日、可能な限り同じ水準でサービスを提供することが目的ゆえ、理にかなっています」(村田氏)
※品質管理上、ウェブパフォーマンスや通信速度は左右非対称分布となるため、標準偏差ではなく、パーセンタイルを使うのが一般的である。15分に1回の頻度で計測することで、1ヵ月あたり2,880回の観測値となり、それらの観測値を累積分布関数を使い、速い順に並べることで1ヵ月あたりの配信品質を確認することができる。1パーセンタイルは1ヵ月の観測値で最も速かった値、100パーセンタイルが最も遅かった値となる。98パーセンタイルで1秒以内とは、1ヵ月あたり98%の確率で、1秒以内に表示完了を経験するという意味になる。
Catchpointでは接続環境の違いごとに測定した分布図を作成することもできる。場所によってのパフォーマンスのばらつきをなくすためだ。
村田氏は、「見える化すると、目を背けたくなるような数字がたくさん出てくる。残酷かもしれないが、そこから直せることはきっとある」とまずは測定から始めることを勧めた。