1

Java nio パッケージにチャット アプリケーションがあります。サーバーの容量をテストしたい。サーバー アプリケーションを実行しており、クライアント プログラムはバッチ ファイルを介して実行されています。いつでも任意の数のクライアントを実行できるようにします。268 クライアント アプリケーションが実行されると、RAM がプロセスを停止します。Ram には、次のクライアントを実行するのに十分なメモリがありませんでした。

RAMがいっぱいのときにプロセッサがハードディスクメモリを使用する方法はありますか?? Javaヒープスペースではありません

Windows 7 Prof 32 ビット、4 gp RAM、i5 プロセッサを使用しています

4

2 に答える 2

1

私は最近、2000のMySQLスレッドクライアントでもっと謙虚な実験を試みました。
そして、私はあなたが多くの壁にぶつかるのではないかと心配しています。
まず、Java2GBのヒープサイズ制限があります。64ビットJVMへの移行を検討する必要があります。64ビットOSでの32ビットJVMの最大Javaヒープサイズを参照してください
。その後、Windows732ビットは3.12GBを超えるRAMを処理しません。64ビットOSを検討する必要があります
。さらに、OSでは最初は20kソケットを開くことができません。レジストリのMaxUserPortを確認してください。
これらすべてを通過した場合、2kスレッドとi5では問題にならないCPU割り当てを検討する時期かもしれません。しかし、私は20kについては知りません...

于 2012-07-24T06:44:10.517 に答える
0

負荷テストでは、サーバーとクライアントを分離する必要があります。

サーバーを実行し、それだけをマシン上で実行します。他のコンピューターを使用してクライアントを実行します。

これにより、この種の問題が回避され、はるかに現実的になります。20kのクライアントとサーバーが同じマシンを実行することは決してありません:)

また、リソースがサーバー専用になるため、コンピューターにクライアントの干渉がない状態でサーバーのパフォーマンスを監視することもできます。

ところで、w7には、USBドングルを接続してコンピューターのRAMを拡張できるターボラムがあります。これはあなたを助けるかもしれません。

M。

于 2012-07-24T06:50:35.093 に答える