synthetic_monitoring

トランザクション計測・監視

トランザクションとは

トランザクションとは、コンピュータシステムにおける、永続的なデータに対する不可分な一連の処理を云います。
主にデータベースの処理について使われてきた用語ですが、Webにおいてもトランザクション処理があります。

例えば、ECサイトにおける買い物であったり、SaaSなどのサブスクリプションの登録は、ページ単位で抜き出すことはできず、一連の複数のページ遷移で行う不可分な処理です。
SaaSのようなWebアプリケーションも、一つのタスクを実行するのに、複数の画面遷移を経る場合があります。

トランザクション計測・監視とは

トランザクション計測・監視とは、ユーザの典型動線に基づいたシナリオをつくり、そのページ遷移の流れで計測・監視するSynthetic Monitoringの1つの手法です。
単ページ計測とは異なり、ログインや、商品選択など、動的な処理が絡み、都度変化していくWebページについて計測する事が可能で、動線計測とも云います。
現在のWebパフォーマンス計測は、単ページ計測より、トランザクション計測の方が主流です。

Trace Route計測・監視の利用目的は、「何かのタスクを完了する流れの計測・監視」です。
単ページ計測では成し得ない、動的に変化するページにおける遷移をなぞり、目的を達するまでの顧客体験の改善を行うために計測・監視します。

具体例

ECサイトでの商品の購入の例

ECサイトであれば、以下のようなステップで「商品を購入する」というタスクを完了します。

  1. トップページを訪問
  2. 商品を検索
  3. 商品詳細を確認
  4. 商品をカートに入れる
  5. ログイン
  6. 配送日時や配送先を指定
  7. 決済
  8. 注文を完了

ECサイトは、その種類にもよりますが、衣類だとサイズや色の指定、在庫状況など、選択肢の組み合わせが増えます。
そのようなサイトの場合は、在庫が常に潤沢にあり、それほど変化がない商品を選んで計測することが多いです。
人気商品とテンプレートが同じであれば、生成されるWebページも同じとなり、計測の結果はほぼ変わらないからです。

航空会社や鉄道会社でのチケットの予約の例

航空会社や鉄道会社のWebサイトであれば、、以下のようなステップで「チケットを予約する」というタスクを完了します。

  1. トップページを訪問
  2. 日時、目的地を指定して、空いている便を検索
  3. 便を選択して、座席を指定
  4. ログイン
  5. オプション指定
  6. 決済
  7. 予約を完了

時間の推移や混雑状況に応じて、ページに表示される便や座席の状況は変わります。
それに対応して、空いている便と座席を自動で選ぶようにスクリプトを組み、計測を行います。

雑誌社や新聞社、オンラインメディアでの記事を読む例

メディアサイトであれば、以下のようなステップで「記事を読む」というタスクを完了します。

  1. トップページを訪問
  2. ページに表示されている1番目の記事をクリック
  3. 記事の詳細を途中まで読む
  4. ログイン
  5. 記事の残りを読む
  6. 関連する記事をクリックして表示する

時間の推移に伴い、掲載される記事や記事の並び順が変わります。
それに対応して、記事の選択を抽象化して、「ヘッドラインの1番目の記事」というように選択する事によって、タイトルやリンクのURLが変わっても自動で記事を選ぶようにスクリプトを組み、計測を行います。

実装

Catchpointの場合は、Seleniumをベースにした独自拡張でのスクリプトを使用して、計測スクリプトを作成し、計測・監視します。
Seleniumでできることが全てできるわけではありませんので、その点はご注意下さい。

Chromeのプラグインとして「Catchpoint Script Recorder」がリリースされていますが、決して完全ではなく、スクリプトの器ができる程度で捉えてもらった方が良いです。
実務でも使ったりしますが、このツールで出来上がったスクリプトは、いつも手直しして利用しています。
スクラッチで、スクリプトを書くことも多いです。

Catchpoint Script Recorder

長所・短所

長所

短所