为什么跨防火墙使用 Sitecore 或 Toad 进行 Oracle 连接比使用 SqlPlus 慢?

发布于 2024-10-07 02:51:23 字数 1046 浏览 0 评论 0原文

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

我已在 LAN 内复制了设置,问题就消失了。如果我使用 MSSQL 数据库,问题也会消失。如果我们不使用 Sitecore 或 Toad,而是在 Oracle 的 sqlPlus 应用程序中运行简单查询,则不会出现问题。

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

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

我已经运行了各种监视器,例如 Wireshark、Procmon 和 Win7 资源监视器,但我不太确定我在寻找什么。我所看到的是发送和接收之间存在很大的时间间隙,但我无法确定这些间隙是在哪里产生的。对我来说,这一切真的很令人毛骨悚然。根据我的经验,网络连接要么有效,要么无效,如果某些流量很慢,那么所有流量都会很慢。

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

感到困惑和有点害怕。

詹姆斯

I have a third party .Net web application (Sitecore) which connects to an Oracle database on a server in my DMZ (separated from my LAN with a firewall). Connectivity between the application and the database is slow. It does not fail, the process (called Publishing) just takes a long time in comparison to the same process occurring between the application (Sitecore) and an Oracle database inside our LAN (a few milliseconds versus 20 minutes). Interestingly I get the same behaviour when I use Toad for Oracle to query the database in the DMZ versus querying a copy of the database inside my LAN.

I have replicated the setup inside our LAN and the problem goes away. If I use an MSSQL database the problem also goes away. If we don’t use Sitecore or Toad and instead run simple queries in Oracle’s sqlPlus application the problem doesn’t occur.

This indicates to me that the problem is specific to applications that use the Oracle Data Provider for .Net, and that are running inside our LAN and are trying to query an Oracle database outside our LAN.

OS is Windows 2008R2 64bit (Oracle DB server), Windows 2008 32bit (Sitecore), Win7 64bit (Toad and SqlPlus clients). Not sure what the firewall is but I think it is on some kind of a virtual switch/router thing (yeah, I'm not a network guy, how'd you guess?). Oracle is 10g. Clients are using Oracle.DataAccess 2.102.4.0 or 2.102.5.0 for 64 and 32 bit. Toad is 10.6. Sitecore is 6.2.0 rev 091012

I have run various monitors like Wireshark, Procmon, and the Win7 Resource Monitor but I'm not really sure what I'm looking for. All I can see is that there are large gaps of time between sends and receives but I can't determine where these gaps are being created. To me this is all really spooky. In my experience network connectivity either works or it doesn't, and if some traffic is slow, then all traffic is slow.

Any ideas as to what might cause this behaviour? Specifically, what network/router/firewall settings might cause connectivity (over TNS & TCP protocols according to Wireshark) to go slowly but not fail completely, for a particular implementation of an Oracle data provider?

Confused and mildly spooked,

James.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薆情海 2024-10-14 02:51:23

所以答案是我们使用的防火墙导致了这个问题。它试图对 Oracle 流量(已由 ODP.net 提供商处理)进行深度数据包检查,这会大大减慢网络流量,但实际上并没有停止它。使用不同方法的防火墙应该可以解决该问题。 Quest(蟾蜍支持)的人员非常出色,并给出了答案。 Oracle 支持帮助不大。 Quest 有一些关于该问题的文档,但它位于支持门户后面。

So the answer is the firewall we are using is causing the issue. It is trying to do deep packet inspection on the Oracle traffic (which has been processed by the ODP.net provider), which slows the network traffic down considerably, without actually stopping it. A firewall that works with a different method should fix the problem. The guys are Quest (Toad Support) were very good and came up with the answer. Oracle support were less helpful. Quest have some documentation on the problem but it is behind there support portal.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文