2012-04-16 7 views
3

私はWindows Azureアプリケーション(Asp Net Mvc 4)を持っています。 そして、このアプリにはいくつかのアヤックスがあります。単純なインメモリ・サーバー・ロジック(SQL、外部Webサービスなし)を使用したリクエスト ローカルにデバッグモードで実行すると、応答を取得するためにajaxリクエストに約900msかかります。 リリースモードでは、ローカルで約30ms(OK)です。 私がAzureにアプリを公開すると、応答を得るために450ミリ秒かかります。私は、デバッグモードとリリースの両方を試して、クラウドとローカルサービスの設定も試みます。すべての場合において、450msかかる。 質問:私が考慮しなかったことがありますか?デバッグまたはリリースモードでWindows Azureに公開

+0

あなたのサービスは何をしていますか?任意の外部(I/Oまたはネットワーク待ち時間の制限)操作?あなたは何を測定していますか?クライアントの往復時間、または操作のサービス側完了時間を記録していますか? –

+0

メモリキャッシュからデータを取り出して返します。私はクライアントの往復時間を測定する。 –

+2

可能性のある問題として、ネットワークの待ち時間/帯域幅を排除するために、(リモートデスクトップ経由で)別のAzureインスタンスに接続しようとしましたか? –

答えて

1

正しくASP.NET MVCアプリケーションのパフォーマンスを診断するには、あなたが考慮して取る必要があります。

  1. クライアントコンピュータとサーバーとの間の待ち時間。それを測定するには、pingユーティリティを使用します。
  2. HTTPおよび/またはHTTPS接続の確立にかかった時間。
  3. ブラウザが発行している他の同時リクエストの待機に費やされた時間。
  4. 要求を送信し、応答を取得するためのデータ転送時間。
  5. オーバーロードによるWebサーバーでのキューイング。
  6. 実際に要求を処理しているサーバーで費やされた時間。これは、this articleに記載されているStopwatchAttributeで測定できます。記事のコードは、ASP.NET MVCと互換性がないため、Chromeのと、Internet Explorerの開発者ツールのような3

ツール、しかしGitHubのから現在のコードを使用して、FirefoxのFirebugのとYahooのYSlowのはあなたのより深い洞察を与えることができますアプリケーションのパフォーマンスに影響を与えます。

関連する問題