Oracle 和 MS SQL 查询通过 VPN 非常慢

k4y*_*man 2 c# sql-server oracle vpn networking

我有一个 C# 程序,它使用Oracle Database 12c Enterprise Edition 12.1.0.2.0 64 位的Oracle 驱动程序。在 LAN 上,程序中的选择大约需要 2 秒。如果我通过 VPN 隧道建立连接,则相同的选择大约需要 48 秒。
如果我 ping 数据库:
LAN:0.206 毫秒
VPN:53 毫秒

为了确保我也使用 Oracle SQL Developer 19.2.1 进行了测试,它显示了大致相同的结果。

我尝试在客户端将 MTU 降低到 1400,因为一些站点提到碎片是问题的原因,但这至少在我配置它的方式上没有改变任何东西。可能是什么原因造成的?

小智 6

处理查询和获取数据所需的 SQL*Net 往返次数会加剧网络延迟。最小化网络延迟的一种方法是确保 C# 程序中的数组获取大小设置为较高的数字。假设它是 10,那么您需要 5,200 次网络往返才能返回 52,000 行。而如果将其设置为 5,000,则只需要 11 次网络往返。

对于 MS SQL 数据库,数据包大小可以在连接字符串中使用。