web-dev-qa-db-ja.com

AJAXを使用するHTTP要求が多すぎると、ブラウザーがクラッシュする可能性がありますか?

ASP.NET Webアプリケーションを実行していますが、最近、ユーザーから多くのクラッシュレポートを受け取りました。 Chromeブラウザーをクラッシュさせることもあれば、無期限にロードすることもあります。

これが、システムの設計方法です。ページは軽量のHTML5ページであり、ページにコードビハインドはありません(つまり、サーバー側のバインディングはありません)。ページがブラウザにロードされると、値のルックアップからビジネスモデルまで、必要なすべてをロードするAJAX要求を起動し、JavaScriptを使用してドロップダウンリストやその他のDOM要素にバインドします。

これは、Chromeブラウザの開発者ツールからのスクリーンショットです。

enter image description here

91のHTTPリクエストはブラウザには多すぎますか?これがブラウザとアプリケーションのクラッシュの原因ではないことをどのように排除しますか?

2
nandin

ZistoloenとJohn Condeからのコメントとは別に、最初にすべきことは自分で状況をテストすることです。ユーザーから報告された状況と環境を再現して、問題が発生したかどうかを確認します。

環境を完全にレプリケートできない場合は、少なくともできるだけ近くで実行してください。

多くのブラウザでサイトの負荷をテストします。プライベートセッションで tor セッションまたは同様のサービスを使用して、完全に異なるプロキシのセットで負荷を生成する必要があります。実際のホスティング会社とコンピューター。

ローカルセッションでは、開発サーバーに対して、詳細なログを有効にしてサイトのクリーンロードを実行し、問題があるかどうかを確認します。サーバーの設定に誤りがある場合、ブラウザをアクティブにしたままにするか、問題を引き起こす可能性のある待機状態にすることができます。クラッシュする可能性は低いようですが。

ローカル環境でテストし、ブラウザーがページをロードするときにシステムの負荷をきれいにキャッシュします。これにより、リソースの急増があるかどうかを確認できます。

アプリケーションを開発した場合は、一度に1ステップずつ進み、JSの最も集中的な部分を非アクティブにしてアプリケーションをテストし、システムが安定するまで繰り返します。この手順は、ユーザーによって報告され、ブラウザをクラッシュさせることができた状況を再現できる場合に、より効果的です。

91リクエストは非常に多く、時間内にロードされていない要素間の依存関係が満たされていない場合、ChromeのV8コンパイラで問題が発生する可能性があります。コードを前処理します。

2
PatomaS