Networking 为什么在防火墙上使用Sitecore或Toad的Oracle连接比使用SqlPlus慢?

Networking 为什么在防火墙上使用Sitecore或Toad的Oracle连接比使用SqlPlus慢?,networking,database-connection,sitecore,odp.net,toad,Networking,Database Connection,Sitecore,Odp.net,Toad,我有一个第三方.Net web应用程序(Sitecore),它连接到DMZ中服务器上的Oracle数据库(通过防火墙与LAN分离)。应用程序和数据库之间的连接速度较慢。它不会失败,与应用程序(Sitecore)和局域网内的Oracle数据库之间发生的相同过程相比,该过程(称为发布)只需要很长时间(几毫秒而不是20分钟)。有趣的是,当我使用Toad for Oracle在DMZ中查询数据库时,与在LAN中查询数据库副本时,我得到了相同的行为 我已经在局域网内复制了设置,问题消失了。如果我使用MSS

我有一个第三方.Net web应用程序(Sitecore),它连接到DMZ中服务器上的Oracle数据库(通过防火墙与LAN分离)。应用程序和数据库之间的连接速度较慢。它不会失败,与应用程序(Sitecore)和局域网内的Oracle数据库之间发生的相同过程相比,该过程(称为发布)只需要很长时间(几毫秒而不是20分钟)。有趣的是,当我使用Toad for Oracle在DMZ中查询数据库时,与在LAN中查询数据库副本时,我得到了相同的行为

我已经在局域网内复制了设置,问题消失了。如果我使用MSSQL数据库,问题也会消失。如果我们不使用Sitecore或Toad,而是在Oracle的sqlPlus应用程序中运行简单的查询,那么问题就不会发生

这向我表明,问题特定于使用Oracle Data Provider for.Net的应用程序,这些应用程序运行在我们的局域网内,并试图在局域网外查询Oracle数据库

操作系统是Windows 2008R2 64位(Oracle DB server)、Windows 2008 32位(Sitecore)、Win7 64位(Toad和SqlPlus客户端)。不确定防火墙是什么,但我认为它是在某种虚拟交换机/路由器上(是的,我不是网络人,你怎么猜的?)。甲骨文是10g。对于64位和32位,客户端正在使用Oracle.DataAccess 2.102.4.0或2.102.5.0。蟾蜍是10.6。Sitecore是6.2.0版本091012

我运行过各种监视器,如Wireshark、Procmon和Win7资源监视器,但我不确定我在寻找什么。我所能看到的是,发送和接收之间有很大的时间间隔,但我无法确定这些间隔是在哪里产生的。对我来说,这真的很可怕。根据我的经验,网络连接要么有效,要么无效,如果一些流量很慢,那么所有流量都很慢

关于这种行为的原因有什么想法吗?具体来说,对于Oracle数据提供程序的特定实现,哪些网络/路由器/防火墙设置可能会导致连接(根据Wireshark,通过TNS和TCP协议)缓慢但不会完全失败

困惑和轻微的恐惧


詹姆斯。

所以答案是我们使用的防火墙导致了问题。它正试图对Oracle流量(已由ODP.net提供商处理)进行深入的数据包检查,这将大大降低网络流量,而不会实际停止网络流量。使用不同方法的防火墙应该可以解决此问题。这些家伙是探索(蟾蜍支持)非常好,并提出了答案。Oracle支持没有那么大帮助。Quest有一些关于这个问题的文档,但是它在支持门户后面。

所以答案是我们使用的防火墙导致了这个问题。它正试图对Oracle流量(已由ODP.net提供商处理)进行深入的数据包检查,这将大大降低网络流量,而不会实际停止网络流量。使用不同方法的防火墙应该可以解决此问题。这些家伙是探索(蟾蜍支持)非常好,并提出了答案。Oracle支持没有那么大帮助。Quest有一些关于这个问题的文档,但它在支持门户后面