1

私は Apache Derby の初心者です。1000 の同時スレッドで Derby データベースのパフォーマンスをテストするように依頼されました。各スレッドで、接続を開き、1 つのテーブルに対して 1 つの挿入、選択、更新クエリを実行します。

シミュレーション コードを実装し、ネットワーク モードで Derby データベースを実行しているローカル マシン (Windows 7) でテストしました。

LANから別のWindows 7マシン(Javaクライアントのみ、DBは自分のマシンでのみ実行されている)から同じことをテストしました。

Ubuntu システムから上記のシミュレーションをテストしているとき、多くの問題に直面しています。各接続を開くには 5xxx ミリ秒かかりますが、他のシナリオでは 2xx ミリ秒かかります。

最大 1000 のスレッドをシミュレートしている場合、各接続を取得する時間も増加します。通常は 60000 ミリ秒以上です。

Ubuntu システムの場合、wireshark から次のエラーがリストされていることがわかりました。

  • プロトコル: ICMP
  • Info : 宛先に到達できません (ポートに到達できません)。

驚いたことに、Kaspersky を ubuntu マシンにインストールしたときに、このエラーが発生しません。そのように3xxミリ秒で接続できます。

接続プール (Tomcat プール、DBCP、C3p0) も実装してみました。

いずれにせよ、ubuntu マシンにウイルス対策がないと、接続を取得するのに時間がかかりすぎて、Wireshark で上記のエラーが表示されます。

ここでキャッチできるものを教えてください。

前もって感謝します。

4

1 に答える 1

0

確かにネットワークの問題のように聞こえます。ping、netstat、traceroute などの下位レベルのツールで調査を試みましたか?

特に、2 つのシステム間の名前解決の問題を探してください。これらの問題は、このようなネットワークの速度低下を引き起こすことがよくあります。各マシンは逆引き DNS ルックアップ (get-name-by-address 呼び出し) を実行できますか?

于 2012-09-03T14:42:10.567 に答える