none
ClickOnceクライアント~サーバのパフォーマンステストについて RRS feed

  • 質問

  • お世話になります。

    ClickOnceを利用したクライアント~Windows 2008サーバで構成されたシステムに
    おいて、Visual Studio 2010 Ultimateを使って、サーバ側のロードテスト環境
    を構築する方法を調べています。
    複数のテスト端末(ClickOnceアプリケーション)から集中してリクエストを受けた
    場合のサーバのレスポンスを測定することを計画しています。

    1つの端末で、多数のClickOnceクライアントによるサーバへのリクエストを
    シミュレーションしたいのですが、Visual Studioの「コード化されたUIテスト」
    の機能を使って複数ClickOnceアプリを実際に走らせて試験環境を構成すると、
    クライアントの負荷がかなり大きくなってしまい、サーバに対して十分な負荷を掛ける
    ためには、テスト端末を相当数準備する必要が出てきてしまいます。

    Visual Studioの「Web パフォーマンス テスト」機能を使って試験シナリオを
    作成しようとしても、ClickOnceアプリ上での操作は試験シナリオに落としこむ
    ことができません。

    VS2010でClickOnceクライアント~サーバ間の通信をシミュレートするための
    ヒントをご教示頂けませんでしょうか?

    ご存じの方、いらっしゃいましたら宜しくお願い致します。

    2011年7月20日 8:09

回答

  • ClickOnce の起動シーケンスの負荷テストを行いたいのでしょうか?

    一般的な話として、ClickOnce アプリケーションは ClickOnce の仕組みだけではアプリケーションとして外部との通信を行うことはありません。このため、サーバとの通信が発生するとしたら、アプリケーション起動時等の ClickOnce のロードに関わる処理か、そのアプリケーションがアプリケーションの実装としてサーバとの通信を行っていることになります。

    前者の場合、ClickOnce のロード処理は通常の HTTP/HTTPS による GET リクエストを使用して行われます。このため、一般的な Web サーバの負荷テストとして実行することができると思います。ClickOnce アプリケーション側で分割ダウンロード等を行われている場合は、その分割シナリオにあわせたテストを実行することになります。発生する負荷ですが、分割ダウンロードを含めたロード処理1回につきマニフェストファイルが1回取得され。マニュフェストファイルに差分があった場合は、対象となる各ファイルが1回づつダウンロードされます。

    後者の場合、サーバとの通信仕様がアプリケーション上にあるはずです。このため、そのアプリケーションの外部サーバとの通信仕様に従ってテストを行うことになり、これは ClickOnce とか関係がない話のはずです。

     

    2011年7月25日 9:53