ソケットプログラミングに基づいてJavaクライアントサーバーアプリケーションを開発しました。私は現在、複数のクライアントを同時にサーバーに接続してテストしています。私のサーバーでは、私は日食、クロム、mysqld、memcached、mysqlの管理者、mysqlのクエリ、私のJavaサーバー、および約5の同時クライアントを実行しています。要求と応答のペイロードは0.5kb以下です。クライアントごとに約5リクエスト。私は1つのクライアントを実行すると、問題はありません。同時に5を実行すると、サーバーが応答していないように見えます。Javaクライアントサーバープログラミング、cpu maxing out
今、私の質問です。私はバニラのunbuntu 32ビットをインストールしています。ネットワーキングのヘルプを微調整しますか?それとも、おそらく自分のアプリ自体に問題があると思いますか?
私は4GBのRAM、ubuntu 32bitのデュアルコアプロセッサを実行しています。
私は読んで良いブログやリンクを探しています。
編集 深い調査で、私のサーバーがリクエストを取得していないことがわかりました。しかし、私のクライアントはそれを送信しています。とにかく、サーバーがリクエストを受信したかどうかをチェックし、ドロップすることを決めました。
はい、これが私の考えです。私はwiresharkスニフを行い、私の要求がサーバーに届いていることに気づいた。 Ack'sがあります。しかし、何らかの理由で、サーバー側のソケット/インストリームが要求オブジェクトを取得していません。はい、スレッドセーフです。私は正しい場所にロックしています。私は他の要求/応答を持っています。この1つは、serversocket.instreamがピックアップしていないことを要求します。どんなヒント/思考も助けてくれるでしょう。ありがとう。 – Siddharth
この1つの要求は、一貫して行われません。同じ要求が時間の50%を過ぎています。 – Siddharth
サンプルサーバー/クライアントのJavaコードをダウンロードし、動作しているかどうか試してみてください。機能が停止するまでテスト中にフィーチャーごとにフィーチャーを追加します。 –