5

アプリケーションをWebロールとしてWindowsAzureにデプロイし、ページの読み込み時間をテストするためにPingdomを使用しています:http://tools.pingdom.com/fpt/

Windows Azure上のアプリケーションのURLは次のとおりです:http://www.doctorspring.com。アプリの読み込み時間は通常約7秒です。データベースはSQLAzureデータベースであり、ロールとデータベースは同じゾーンにあります。

pingdomの結果の例:http ://tools.pingdom.com/fpt/#!/ CllGggrMz / http://www.doctorspring.com/

pingdomの結果のサンプル(gzipを使用):http ://tools.pingdom.com/fpt/#!/ f2TUbR6OX / www.doctorspring.com

Azureが問題である可能性があると考えて、Someeからの無料ホスティングを次のように試しました。http: //www.doctorspring.somee.comSomee でのアプリのロード時間は約3.5秒です。

pingdomの結果の例:http ://tools.pingdom.com/fpt/#!/ o3gZOjTwH / http://www.doctorspring.somee.com/

それは私たちにとって大きなパフォーマンスの問題です。Azureの問題を理解するのを手伝っていただけますか、それを克服する方法について提案していただけますか?

ありがとう、マニッシュ

4

2 に答える 2

1

どちらの場合も、ホームページの読み込みは容認できないほど遅く、ページを生成するのに 3.5 秒かかるのは、サイトに負荷がかかっていない場合よりも約 10 倍遅くなります。この種のパフォーマンスでは、中程度の負荷がかかったとしても、サイトが崩壊することを期待しています。

サイトがどのように構築されているかを知らなければ、ある環境が他の環境よりも速い理由を説明するのは難しいですが、私の推測では、ページを生成しているもの (何らかの CMS?) が原因であると思われます。Azure は、データベース クエリを実行するときに少し遅いことが知られていますが、通常、これは極端な条件下でのみ現れます。

CMS を調整することをお勧めします。特にキャッシングを使用します。通常、Azure は非常に高速ですが、データベース ルックアップ (CMS 用のコンテンツの取得など) を実行する場合、速度が変動する可能性があることがわかりました。CMS がホームページのコンテンツを取得するために多数のデータベース クエリを実行している場合、処理が遅くなります。

また、Yslow を実行する価値もあります。パフォーマンスを向上させる上で簡単に達成できる成果があります。

于 2013-03-14T12:42:25.320 に答える
1

Azure で実行しているサービスは何ですか? Web ロール、VM、Web サイト? ホームページから Azure データベース インスタンスに接続していますか? ロンドンからの読み込み時間は約 7.5 秒ですが、正直なところ、3 秒でもホームページには遅すぎます。長時間のページ読み込みの原因を特定するのは困難ですが、DB インスタンスに接続している場合、できることはたくさんあります。

  1. ページをレンダリングし、いくつかの非同期呼び出しを行って追加データをスプールします。

  2. Azure サービスが近くで実行されていることを確認する

  3. データベース コンテンツを BLOB にキャッシュすることを検討してください。たとえば、「Medical Questions Answered in Last 24 Hours」のデータの場合、ロードのたびにこれを DB から取得する場合、これを定期的に BLOB コンテナーに格納されている html ファイルにキャッシュしてページに挿入することで、アクセスを大幅に高速化できます。 .

  4. ホームページから DB 呼び出しを行う必要がある場合は、クエリをストアド プロシージャにまとめて、往復をできるだけ少なくするようにしてください。

ここで多くの仮定を立てましたが、このページのパフォーマンスを大幅に改善するためにできることは確かにあります。

于 2013-03-14T16:46:11.443 に答える