我是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中看到上述錯誤。
請幫我在這裏有什麼可以抓到?
在此先感謝。
您是如何解決問題的? –