Fastly KV Store ベンチーマークテストでは、KV Store の読み込み、書き込み、レプリケーションにかかる時間に関係する Fastly のリアルタイムのレイテンシを継続的に測定して比較します。
2024年1月23日現在、このベンチーマークテストを通じて Fastly KV Store の書き込み、読み込み、レプリケーション時間を測定し、競合企業との比較を行っています。
ループを開始し、読み込み値が指定されたサイズに達するまで (1バイトから 25 MB の範囲)、キーと値のペアを KV Store から連続的に読み込みます。Fastly のグローバルネットワークのパフォーマンスを正確に反映するため、Fastly のすべての配信拠点 (POP) でこのプロセスが行われます。
最初の読み込み (ミス) の前後、2回目の読み込み (ヒット) の前後、値が指定されたサイズに達した際の最後の読み込み (ミス) の前後のタイムスタンプが記録されます。
5秒後に、事前に指定されたサイズのランダム値を持つキーと値のペアが記述されます。
最大60秒のタイムアウト後、またはすべてのレスポンスが受信された後、サイズの値を1バイト増やして1-3の手順を繰り返します。
手順3で使用する POP を替えながら1-4の手順をすべての POP で繰り返します。
異なる値のサイズを使用して1-5の手順を繰り返します。*
* テストでは、1バイトから 25 MB までの事前に設定されたサイズのランダム文字列を使用しました。
CrUX (Chrome User Experience の略) は Google による Web Vitals プログラムの公式データセットです。同プログラムは Web で優れたユーザーエクスペ リエンスを提供するために重要と思われる品質シグナルの統合ガイドを提供する Google の取り組みの一環です。端的に言うと、Google はこのプログラムを通じて同社が重要であるとみなしている要素、データの測定方法、「優れた」パフォーマンスの定義を共有しています。これにより、サイトのパフォーマンスを向上させて Google による評価を高めるために何をする必要があるのかを、サイト管理者が理解しやすくなります。そして Google による評価が高まることで、Google 検索ランキングのスコアと SEO パフォーマンスも向上します (その結果、サイトへのトラフィック増加も期待できます)。
実在する世界中の Chrome ユーザーから収集されたデータは、合成的なエクスペリエンスではなく、Webサイトを訪問したユーザーの実際のエクスペリエンスを反映しているとみなすことができます。世界中の異なる地域から、さまざまなタイミングで収集されるこのような実世界のデータは、高いキャッシュヒット率 (CHR) やサーバーの近接性、ルーティングの最適化、効率的なロードバランシングなどによってWebサイトのパフォーマンスがどのように改善されるかをより正確に表しています。データはトラフィックのピーク時と最低時に収集され、サイトがその時々において負荷をどのように処理しているかというサイトのパフォーマンスを理解するのに役立ちます。さらにこのようなデータは、テストを自らセットアップせず、コントロールできない環境で何が起こるのかを示すため、サイト訪問者の実際の体験を正確に表しているといえます。また CrUX には、使いや すい API を利用できるというメリットもあり、一定期間に何度も関連するデータのクエリを行うことが可能です。大量のデータに基づいているため、信頼性の高い情報が得られると考えられます。
TTFB、LCP、INP が重要な理由
他の CrUX Web Vitals データと一緒に収集され、Google の Web Vitals 指標のひとつであるにもかかわらず、最初の1バイトを受信するまでの時間 (TTFB) は Google の「Core Web Vitals」指標に含まれていません。つまり、TTFB パフォーマンスが Google の推奨範囲外であっても、そのために Google によってサイトのスコアにペナルティが課されることはありません。代わりに、Google は LCP (Largest Contentful Paint) などの要素を重視しています。TTFB は LCP の前の段階の測定値で、LCP にも影響を及ぼすため、高速な TTFB はサイトパフォーマンスにおいて非常に重要です。つまり Google は LCP を測定することで、自動的に TTFB パフォーマンスをその他の重要な指標と合わせて考慮していることになるのです。大切なポイントは、他の指標を利用できない場合、TTFB は注目に値する指標であるということです。
2024年3月12日現在、応答性の指標として FID (First Input Delay) に代わり、INP (Interaction to Next Paint) が追加されています。INP では、最初の入力だけではなく、ページに対するすべてのクリック、タップ、キーボード操作のレイテンシが考慮されるため、FID よりも応答性の指標として優れています。
「75パーセンタイル値」および CrUX データに関する注意事項
CrUX データセットでは TTFB や LCP などの Web Vitals 指標の数値が75パーセンタイル値として提供されます。すなわち、特定の期間における上位75%のユーザーの測定値の最低スコアが使用されます。これは、サイトパフォーマンスをより正確に反映するために極端に悪いスコアが排除されるためです。サイトによるコントロールが不可能な要因などによる影響を抑えるために、Web Vitals の指標では下位25%の結果が除外されるのです。この下位のデータには、非常に遅いインターネット接続やデバイスのスローダウン、(Fastly で緩和可能な) インターネット環境の問題など、読み込み時間に影響する一時的な問題に関係するユーザーエクスペリエンスが含まれる可能性があり、このような問題のせいでサイトのパフォーマンススコアが損なわれるべきではありません。最下位の25パーセンタイルを除外することで、Google は測定結果が異常値によって歪められたものではなく、サイトの実際のパフォーマンスをより正確に表していると確信することができるのです。
なお、データは Chrome ブラウザでのみ収集され、iOS は対象外です。 この条件下でも非常に多様なエクスペリエンスがカバーされますが、モバイルサイトに関しては Android デバイスを使用する Chrome ユーザーのデータに限られます。これは、iOS ではアプリにおけるデータ収集が制限されているためです。デスクトップコンピューターでは、MacOS、Windows、Linux のオペレーションシステムで Chrome を使用する場合に CrUX データ収集の対象となります。Chrome は中国では利用不可能なため、同国のユーザーのエクスペリエンスは適切に反映されません。
これらの制限を考慮しても、CrUX から得られる実世界のデータには高い価値があると、私たちは確信しています。また、iOS や他のブラウザでも、完全に同じではないとしても似たようなパフォーマンスの違いが見られることが予想されます。
CrUX データに含まれるユーザーに関する Google のデータ収集方法について詳しくはこちらをご覧ください : https://developer.chrome.com/docs/crux/methodology/#user-eligibility
CrUX のデータソース
CrUX のデータセットは BigQuery やさまざまな API で利用可能ですが、含まれるメトリクスや集計方法が若干異なります。API は、直近28日間の収集期間に集計された6つの Web Vitals に関する「75パーセンタイル」の測定データ (ミリ秒の粒度) と、「高速」、「平均」、「低速」の密度を示す ヒストグラムを提供します。一方、BigQuery は Web Vitals およびその他のパフォーマンスメトリクスに関する「75パーセンタイル」の測定データ (100ミリ秒の粒度) とヒストグラムに加えて、各フォームファクターや接続速度、大まかな人気ランキングなど、ユーザーエクスペリエンスの一部を示す統計データを月ごとに集計して提供します。
Fastly 独自の CDN 検出ツールを使用し、一定期間において各オリジンサーバーに対して検出作業を数回行います。各検出で Google のパブリック DNS サーバーにクエリを行い、既知のプロバイダーと値の設定ファイルと以下の内容を照らし合わせて CDN を検出します。
CNAME レコード (*.fastly.net, *.akamai.net など)
IP アドレスと AS 番号のマッピング