我是Apache Derby的新手,我被要求用1000个并发线程测试Derby数据库的性能,在每个线程中,打开一个连接,在一个表上执行一次插入,选择,更新查询。
我实现了模拟代码并在我的本地计算机(Windows 7)上进行了测试,我在网络模式下运行Derby数据库。
即使我从我的局域网中测试了另一台Windows 7计算机(仅限Java客户端,数据库仅在我的计算机上运行)。
当我在Ubuntu系统上测试上面的模拟时,我遇到了很多问题。为了打开每个连接,它需要5xxx毫秒,而在其他情况下它是2xx毫秒。
如果我模拟最多1000个线程意味着每个连接的时间也会增加。通常它超过60000毫秒。
我观察到,如果是Ubuntu系统,wireshark会列出以下错误。
令人惊讶的是,当我在ubuntu机器上安装卡巴斯基时,我没有收到此错误。我可以在3xx毫秒内获得连接。
我也尝试过实现连接池(Tomcat池,DBCP,C3p0)。
在任何情况下,在ubuntu机器上没有防病毒,它需要花费太多时间才能获得连接,我在Wireshark中看到了上述错误。
请帮助我这里有什么可以抓到的?
提前致谢。
答案 0 :(得分:0)
当然听起来像网络问题。您是否尝试使用较低级别的工具进行调查,例如ping,netstat,traceroute等?
特别是,寻找两个系统之间的名称解析问题,因为这些问题通常会导致网络速度降低。每台计算机是否都能够执行反向DNS查找(按地址获取名称)?