株式会社Spelldata

〒100-0004
東京都千代田区大手町一丁目7番2号
東京サンケイビル27階
Tel: 03-3242-3150
Fax: 050-3488-8836
営業時間: 土日・祝日を除く 9:00〜17:30

実験的検査

Synthetic Monitoringとは

Webパフォーマンスを計測する方法で、オーソドックスで、世界的に広く使われているのは、Synthetic Monitoringです。
Synthetic Monitoringは、品質管理で使われている実験計画法に則っている、科学的方法です。
ここでは、Synthetic Monitoringについて解説します。

Actionable Data(実行可能データ)を取得することを目的とする

Synthetic Monitoringは、製造業で使われている統計的品質管理手法と同じ思想で実装された計測手法です。
その目的は、Actionable Data(実行可能データ)の取得です。

Actionable Dataとは

Actionable Dataとは、実際に使えるデータを意味します。
何でもかんでも、データを取得すれば、役立つかというと、そうではないのです。
そのような、取っても使えないデータと区別する上で言われるのが、Actionable Dataです。

データの取得は目的を持って行うべきで、その目的に合致するように取得する変数や方法を「設計」しなくてはいけないのです。
その「設計」は、対象分野に詳しい専門知識を持っている人ができます。
その分野について、詳しい人が、「こういう変数についての詳細な値があれば分析ができる」という設計の下に取得されたデータは、「使える」データです。

Webパフォーマンスの改善に実際に役立つデータを取得することが、Synthetic Monitoringの目的なのです。

Actionalbe Dataを取得するには?

Actionable Dataを取得するには、以下の事を考える必要があります。

どんな変数を取得すれば因果関係を証明できるのか?

使えるデータかどうかは、因果関係を説明できる変数を取得しているかどうかにかかっています。
どんなに沢山の変数を含んだデータセットを用意しても、その中に因果関係を説明できる変数が入っていなければ、改善行動に移すための知見は何も得られません。

そのデータセットの中に入っている値は、どれだけ正確か?

因果関係を証明できる変数を取得しても、その値が不正確であれば、間違った分析結果へと導かれてしまいます。
値から、ノイズとなる変数を出来る限り除外して、値の保証を行う必要があります。

ここで言う、ノイズの除外ですが、これは必ずしも必要のない変数の値が入らないようにするという意味ではないです。
入らないようにできれば一番良いのですが、どうしても入ってしまう場合には、その影響を固定化します。
これをブロッキングと言い、計測時にその変数のバラツキを極小化することで、知りたい変数のバラツキへの影響を固定にします。

そのデータセットの中に入っている値は、どれだけ確かか?

因果関係を証明できる変数を、正確な値で取得しても、それがどれだけ確かであるかは話が別です。
常にその値であるのか、たまたまその値であるのかは、1回の計測では分かりません。
数多くの計測を行い、バラツキの度合いと、その分布を知る事によって、各々の値が全体の分布の中でどの位置にあるかが分かります。

Actionable Dataを得るための実験計画法

以上の事を鑑みて、Actionable Dataを取得する方法、それが現代統計学の父である、ロナルド・エイルマー・フィッシャー博士が考案した「実験計画法」です。

実験計画法は、データ取得の基本となっており、製造業や医薬業界、調査会社などを中心に広く活用されています。
統計的品質管理の要となるものです。
フィッシャーの死後も、組合せ論をベースに、発展し続けています。

実験計画法の中でも、最も基本的な部分、フィッシャーが提唱した三つの原則を「フィッシャー三原則」と言います。

局所管理化

影響を調べる要因以外のすべての要因を可能な限り一定にします。
ブロッキングとも言われています。

Synthetic Monitoringでは、以下の事が行われています。

反復

計測ごとのバラツキの影響を除くために同条件で反復します。
数多く計測して、標本の大きさを大きくすることで、確率的に真の値に近づいていきます。

Synthetic Monitoringでは、以下の事が行われています。

無作為化

値の独立性を担保するために、標本の無作為抽出を行います。

Synthetic Monitoringでは、以下の事が行われています。

分散の分解が可能

CatchpointのSynthetic Monitoringで得られたデータセットは、分散の分解が可能です。
分散の分解とは、簡単に言うと、バラツキの分解です。

例えば、「表示開始時間が1.2±0.2秒、表示完了時間が3.5±0.5秒」と言っても、その秒数を構成しているのは、HTMLファイル、CSSファイル、JavaScriptファイル、画像などの多数のオブジェクトです。
そのオブジェクトごとに、配信速度のバラツキを持ちます。

また、1つのサーバから全オブジェクトを配信してページを構成するというサイトは、今日では皆無に等しく、大抵は10〜20、多いと50〜60ぐらいのホストと接続して、オブジェクトを取得しています。
それぞれのホスト毎に、配信速度のバラツキを持ちます。

現在のWebページの表示速度のバラツキは、巨大で細かなバラツキの合成によって出来上がっているのです。

Webページを構成しているホストやオブジェクトの内、最もバラツキが大きいものが、Webパフォーマンスを大きく影響します。
CatchpointのSynthetic Monitoringは、各ホスト、各オブジェクト単位でのバラツキを分析できる分解能力を持ちます。

接続方式

Webパフォーマンスは、国、都市、ネットワークなどで異なります。
Webサーバからの距離が遠くなればなるほど、遅延します。

国、都市、ネットワークの特性の違いを考慮して、層別分析できるように、Synthetic Monitoringでは、その国、その都市でのISPや携帯網のマーケットシェアを参考に、人口のカバー率を鑑みて、計測機器を設置します。

デスクトップサイト向けSynthetic Monitoring
デスクトップサイト向けSynthetic Monitoring
モバイルサイト向けSynthetic Monitoring
モバイルサイト向けSynthetic Monitoring

[前のページに戻る]