2012-09-03 72 views
0

我是Apache Derby的新人,我被要求用1000個併發線程測試Derby數據庫的性能,在每個線程中打開一個連接,做一個插入,選擇,更新一個表上的查詢。獲取Derby數據庫連接從Ubuntu到Windows非常緩慢,反之亦然

我實現了仿真代碼,並在我的本地機器(Windows 7)上進行了測試,在該機器上我以聯網模式運行Derby數據庫。

即使我從另一臺Windows 7機器(僅限Java客戶機,DB僅在我的機器上運行)從我的局域網測試了相同的結果。

當我在Ubuntu系統上面模擬測試時,我遇到了很多問題。對於打開每個連接,它需要5xxx毫秒,在其他情況下爲2xx毫秒。

如果我模擬多達1000個線程,意味着每次連接的時間也在增加。通常它高於60000毫秒。

我觀察到wireshark在Ubuntu系統中列出了以下錯誤。

  • 協議:ICMP
  • 信息:目標不可達(端口不可達)。

令人驚訝的是,當我在ubuntu機器上安裝卡巴斯基時,我沒有收到這個錯誤。我能夠以3xx毫秒的速度獲得連接。

我嘗試着實現連接池(Tomcat pool,DBCP,C3p0)。

在任何情況下,ubuntu計算機中的防病毒都需要太多時間才能獲得連接,並且我在Wireshark中看到上述錯誤。

請幫我在這裏有什麼可以抓到?

在此先感謝。

+0

您是如何解決問題的? –

回答

0

當然聽起來像網絡問題。你有沒有試過用ping,netstat,traceroute等較低級別的工具進行調查?

特別是,尋找兩個系統之間的名稱解析問題,因爲這些問題通常會導致像這樣的網絡速度下降。每臺機器能否執行反向DNS查找(按地址獲取名稱)?

相關問題