JDBC查询速度慢......直到Wireshark运行一次

时间:2017-03-09 10:29:45

标签: oracle hibernate jdbc wireshark windows-server-2012-r2

我有一个非常奇怪的问题。我们正在运行一个Java应用程序,在Windows上使用Hibernate,在Windows Server 2012上,在VM上运行。

当我们尝试从Oracle 12c数据库中读取大量数据时,它会系统地超慢。

但是一旦我们运行Wireshark一次......它会立即快100倍!在我们重新启动机器之前它会一直保持这种状态,即使我们之后关闭了Wireshark。

有任何解释吗?这听起来像Windows网卡驱动程序的问题..

编辑1:我们排除了Hibernate:只有JDBC才会出现问题 编辑2:我们排除了WinPcap,没有它的Wireshark仍然解决了这个问题。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,但使用.Net应用程序访问Oracle 12c数据库,卸载WinPcap / Wireshark并没有解决这个问题。

由于有问题的环境在vmware下运行,我们已经研究了与vmxnet3驱动程序相关的问题(在Windows 2012 R2下),并发现,作为一种轮廓解决方案,如何在其上禁用接收端合并(RSC)功能。没有重启,问题就消失了。

在Powershell中:

Disable-NetAdapterRsc *

来源:After upgrading a virtual machine to hardware version 11, network dependent workloads experience performance degradation (2129176)