SahrePointのレスポンスを計測

SahrePoint に限らず、「動作が遅い」という不満はWeb系システムに典型的です。しかし、一方で、その対策はなかなかに大変でもあります。

あるサイトが極端に遅い。この処理が遅い。特定時間帯に異常に遅い。
─のであればまだ調査・改善の余地があるのですが。
しかし、「全体的に遅い」「時々異様に遅い」となると、正直、お手上げです。

想定される「原因」が多すぎるのです。
ひとつひとつ検証するには、非現実的な手間と時間がかかります。


とはいえ、なにもしない、という訳にもいきません。
レスポンスを定量的に評価する試みは必要ですが、しかし、これも案外難しい。

サーバの負荷や応答速度は容易に計測できます。
しかし、あまり実効的な指標とは言えません。
ユーザにとって「レスポンス」とは、ネットワーク越し、かつ自身のクライアント端末におけるポータルの動作速度だからです。

さて、例によって長い前書きになりましたが。
今回は、SahrePoint サイトのレスポンスを計測する試みです。

Webサイトのレスポンスを計測するサービスは多々あります。
しかし、当然ながらウェブ側に「公開」されていることが前提で、イントラは測れません。
ツールであれASPであれ、なにか手頃な方法はないものか…。
探していたところ、ひとつ、面白いサイトに辿り着きました。

http://webwait.com/

指定したURLに対して指定回数のアクセスを行い、その平均値をレポートします。
これだけであれば、よくある計測サービスです。
しかし、特筆すべきは、イントラネット上のWebサイトも計測対象にできることです。

URLを入力します。
イントラにおけるURLそのままでOKです。

右のフレーム内に、指定したURLが読み込まれます。
挙動を見た限りでは、「実行ボタンがクリックされた瞬間」から「ページがロードされ終わるまで」の時間を計測しているようです。

計測終了後、左下の[export results data]をクリック。

計測結果がコピペ可能な状態で表示されます。

これで「ユーザー視点でのレスポンスの数値化」がでます。
残る課題は、如何にこれを多くのユーザーに実行してもらうか?ですね。

上記の手順をそのまま実行して貰えればそれで良いのですが…。
まあ、大抵の場合、期待薄でしょう(苦笑)

そこで、IIS分析でも利用した RocketMouse でバッチ的なプログラムを用意しました。
ユーザーがexeを実行すると、自動的に以下を繰返します。

 1.ユーザー名と所属部署を取得
 2.インターネット一時ファイルを削除
 3.webwait から特定URLにアクセス
 4.結果をコピー
 5.所定の形式で、SharePoint 上の指定ファイルに追記
 6.インターネット一時ファイルを削除
 7.webwait から特定URLにアクセス
 8.結果をコピー
 9.所定の形式で、SharePoint 上の指定ファイルに追記
 (ループ) 

しかし、ここでひとつ問題が。
webwaitの仕様で[export results data]は、CSSとJavascriptによる「擬似リンク」なのです。
そのため、TABで移動出来ず、マウスでクリックする必要が有ります。
ですが、その位置(x軸y軸)はユーザの環境により変わりますので、自動化が困難です。

そこで、ふと気がついたのですが。
「クライアント側で動作する」ということは、Webサイトをローカルに保存しても動くのでは?

動きました(汗)
良いか悪いかはさておくとして…(?)
HTMLソースを少し弄れば、[export results data]をボタンにすることも可能です。


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9