0

私はJersey 1.12をGrizzlyで使用しており、Jacksonを使用してJSON出力を生成しています。生成された結果がはるかに大きい場合、データ転送速度は非常に遅くなります。

サーバーとクライアントを同じボックスで実行していますが、350KB のデータの転送速度は約 350KB/秒ですが、これはかなり遅いですよね? これをチューニングする方法は?JSON にシリアル化する準備ができているオブジェクトのリストを生成する API を監視しました。初回から約 50 ミリ秒です。

Grizzly NIO ワーカー スレッドの数を 40 に設定しました。

サーバーを実行しています

Linux 2.6.18-274.7.1.el5 #1 SMP Thu Oct 20 16:21:01 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

このサーバーには 8 つのコアがあります。

4

1 に答える 1

0

ヒープ領域が不足しているため、VM がより積極的に GC を試行し、より長く、より頻繁な GC サイクルを引き起こしているのではないでしょうか? データの大きさは?ログ フィルタを使用していますか (エンティティをバッファリングし、すべてをメモリにロードします)。ヒープ サイズを増やすか、すべてのデータをメモリに保持するのではなく、ストリーミング方式でデータを送受信するようにしてください。

于 2012-06-04T20:17:20.713 に答える