Почему соединение Oracle с использованием Sitecore или Toad через брандмауэр медленнее, чем с использованием SqlPlus? - PullRequest
1 голос
/ 10 декабря 2010

У меня есть стороннее веб-приложение .Net (Sitecore), которое подключается к базе данных Oracle на сервере в моей DMZ (отделенной от локальной сети брандмауэром). Связь между приложением и базой данных медленная. Это не дает сбоя, процесс (называемый публикацией) просто занимает много времени по сравнению с тем же процессом, который происходит между приложением (Sitecore) и базой данных Oracle в нашей локальной сети (несколько миллисекунд против 20 минут). Интересно, что я получаю то же поведение, когда использую Toad for Oracle для запроса базы данных в DMZ, вместо запроса копии базы данных в моей локальной сети.

Я повторил настройку в нашей локальной сети, и проблема исчезла. Если я использую базу данных MSSQL, проблема также исчезнет. Если мы не используем Sitecore или Toad и вместо этого выполняем простые запросы в приложении Oracle sqlPlus, проблема не возникает.

Это указывает на то, что проблема связана с приложениями, которые используют поставщик данных Oracle для .Net, и которые работают внутри нашей локальной сети и пытаются запросить базу данных Oracle за пределами нашей локальной сети.

ОС - Windows 2008R2 64bit (сервер Oracle DB), Windows 2008 32bit (Sitecore), Win7 64bit (клиенты Toad и SqlPlus). Не уверен, что такое брандмауэр, но я думаю, что он на каком-то виртуальном коммутаторе / маршрутизаторе (да, я не сетевой парень, как вы догадались?). Оракул 10г. Клиенты используют Oracle.DataAccess 2.102.4.0 или 2.102.5.0 для 64 и 32-разрядных. Жаба 10,6. Sitecore - 6.2.0 rev 091012

Я запускал различные мониторы, такие как Wireshark, Procmon и Win7 Resource Monitor, но я не совсем уверен, что я ищу. Все, что я вижу, это то, что между отправкой и получением есть большие промежутки времени, но я не могу определить, где эти промежутки создаются. Для меня все это действительно жутко. По моему опыту, сетевое подключение либо работает, либо нет, и если какой-то трафик медленный, то весь трафик медленный.

Есть идеи о том, что может вызвать такое поведение? В частности, какие настройки сети / маршрутизатора / брандмауэра могут вызывать медленное, но не полный сбой подключение (через протоколы TNS и TCP в соответствии с Wireshark) для конкретной реализации поставщика данных Oracle?

Смущенный и слегка напуганный,

Джеймс.

1 Ответ

1 голос
/ 08 апреля 2011

Таким образом, ответ - брандмауэр, который мы используем, вызывает проблему.Он пытается выполнить глубокую проверку пакетов трафика Oracle (который был обработан поставщиком ODP.net), что значительно замедляет сетевой трафик, фактически не останавливая его.Брандмауэр, который работает другим методом, должен решить проблему.Ребята Quest (Toad Support) были очень хорошими и придумали ответ.Поддержка Oracle была менее полезной.У Quest есть некоторая документация по проблеме, но она находится позади портала поддержки.

...