JavaScript/jqueryで準備されたカスタムコントロールを使用してツリーを作成しています。
ツリーを作成するために、jsonオブジェクトをJavaスクリプトへの入力として提供し、ツリーを反復処理して作成します。
データ量は最大25Kノードになる可能性があるため。基本的な負荷テスト中に、そのようなボリュームでブラウザがクラッシュすることがわかりました。
別の解決策は、ノードの最初のレベルをロードし、AJAX request。を介してオンデマンドでロードします。最初のレベルのボリュームは最大500-1Kノードまで変化します。
Jsonがサーバーからの応答として持つ必要がある最大サイズはいくらですか。このような大量のデータをブラウザで処理するための最良のアプローチは何でしょうか。
Http応答の最大サイズの制限はありません(またはIntの最大サイズ、ブラウザーの制限、またはサーバーの制限が構成されています)。
最良のアプローチは、AJAXを使用して、表示する必要があるデータの一部をロードすることです。
HTTPレスポンスにはサイズ制限がありません。 JSONはHTTP応答として提供されます。したがって、サイズ制限もありません。
JSON応答から解析されたオブジェクトが大量のメモリを消費すると、問題が発生する可能性があります。ブラウザがクラッシュします。そのため、さまざまなデータサイズでテストし、アプリが正常に動作するかどうかを確認する方が適切です。
lazy-loadingは、このような大量のデータに対する最適なアプローチだと思います。特にオブジェクトリテラルを扱うとき。
高性能Ajaxアプリケーション Yahooからのプレゼンテーションを参照してください。
まあ、私は2セントを与えるには遅すぎると思います。 shiplu.mokadd.imの応答ブラウザメモリを補完することは制限であり、HTTP応答はTCP仕様に従って任意の量のデータを持つことができます。
しかし、Google Chrome(バージョン29.0.xx)とJettyサーバーを使用するアプリケーションがあり、Jettyサーバーからの応答には335MBのペイロードがあります。ブラウザーがその薄い応答を受信している間size Chrome「IPCメッセージが大きすぎます」というメッセージを残すのを停止します。これはGoogle Chromeに固有ですが(他のブラウザについてはわかりません)、応答の最大サイズにはしきい値が必要です。