0

ASP .Net Webサイトを紺碧のクラウドでホストしています(以前はgodaddy共有ホスティングでした)。このサイトは基本的に、ユーザーがログインしてオンラインテストを受けるマルチユーザーテストWebサイトです。

このサイトは、テストのすべての質問(40個の番号)を一度にロードし、javascript show/hideを使用してユーザーに1つずつ表示します。そして、選択されたすべての回答は、サーバーに回答を保存するためにajax呼び出しを行う確認ボタンを使用してすぐに確認する必要があります。

今、両方のホスティングプロバイダーは私に同じ種類の問題を与えます。同時ユーザーが非常に多い場合(私は思う)、回答は保存されず(ajax呼び出し)、最後の送信ボタンがクリックされると(ポストバック)、ページがハングするだけです。だからそれは私のコードの問題に違いない。

昨日、Webロールの新しいインスタンスを作成しましたが、最初の60以上のテストは問題なく実行され、夕方にエラーを報告したユーザーはほとんどいませんでした。だから私はいくつかのメモリリークまたはある種の蓄積を推測しています。

データベース操作にはLINQtoSQLを使用しています。

本当の問題は、開発マシンでこれを複製する方法(負荷テスト?)がわからないことです。

あらゆる種類のアドバイスやヒントをいただければ幸いです。

(コードやその他の詳細についてさらに情報が必要な場合はお知らせください)

4

4 に答える 4

1

アプリケーションを運用目的で Windows Azure に移行したら、Cerebrata の Diagnostics Manager のコピーが必要です。これにより、正しい問題を解決していることを確認する方法で、すべてのログとパフォーマンス カウンターを簡単に確認できます。

スケールアップ、スケールアウトが必要ですか、それとも別のリソースに対する競合があるかどうかは、データがないと判断するのが難しくなります。

私はこの会社や製品とはまったく関係がありません。この仕事に最適であるというのが私の正直な意見です。

于 2012-07-21T11:20:38.490 に答える
0

サイトのパフォーマンスに問題がある場合(コードに問題がないと見なされる場合)、VMのサイズを中規模または大規模に増やして、より多くのリソースを取得できます。

トラフィック(複数のユーザー)を同時に処理するために、Webサイトのトラフィックに応じてアプリケーションを1つのインスタンスからインスタンスなしにスケーリングできます

于 2012-07-21T05:59:12.267 に答える
0

デバッグまたはリリースでサイトをデプロイしましたか?

サイトがデバッグ モードでデプロイされたときに、かなり風変わりなことがいくつかありました。

デバッグとリリース

于 2012-07-21T03:02:16.500 に答える
0

開発 Web サイトの負荷を簡単に複製するには、Visual Studio Web Test を使用できます。

ブラウザー セッションを記録して再生できますが、1 台または複数のマシンを使用して X 量のセッションを並行して実行できます。リークや同時実行のバグがある場合は、それを確認するのに役立ちます。

Web テスト機能は、Visual Studio のすべてのバージョンに含まれているわけではなく、現在使用していないと費用がかかります。

あと数時間でほぼ同じことができます。

1 - Web 用の私のお気に入りのデバッグ ツールの 1 つであるfiddlerを使用して、ページとサーバー間の交換を「記録」します。

2 - fiddler でいくつかの http 要求を再生して、問題を再現できるかどうかを確認します。

3 - Web サイトをもう少しプッシュするには、フィドラーで見た http 要求を複製する小さな C# プログラムを作成できますが、複数のスレッドが並列に使用されます。HttpClient クラスを使用する必要があります。

于 2012-07-21T08:26:39.283 に答える