У меня есть стороннее веб-приложение .Net (Sitecore), которое подключается к базе данных Oracle на сервере в моей демилитаризованной зоне (отделенной от моей локальной сети брандмауэром). Связь между приложением и базой данных медленная. Это не сбой, процесс (называемый публикацией) просто занимает много времени по сравнению с тем же процессом, происходящим между приложением (Sitecore) и базой данных Oracle внутри нашей локальной сети (несколько миллисекунд против 20 минут). Интересно, что я получаю такое же поведение, когда я использую Toad для Oracle для запроса базы данных в DMZ по сравнению с запросом копии базы данных внутри моей локальной сети.
Я воспроизвел настройку в нашей локальной сети, и проблема исчезла. Если я использую базу данных MSSQL, проблема также исчезнет. Если мы не используем Sitecore или Toad, а вместо этого запускаем простые запросы в приложении Oracle sqlPlus, проблема не возникает.
Это указывает мне на то, что проблема характерна для приложений, использующих Oracle Data Provider for .Net, работающих внутри нашей локальной сети и пытающихся выполнить запрос к базе данных 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, версия 091012.
Я запускал различные мониторы, такие как Wireshark, Procmon и монитор ресурсов Win7, но я не совсем уверен, что ищу. Все, что я вижу, это большие промежутки времени между отправкой и получением, но я не могу определить, где эти промежутки создаются. Для меня это все действительно жутко. По моему опыту, подключение к сети либо работает, либо нет, и если какой-то трафик медленный, то весь трафик медленный.
Любые идеи относительно того, что может вызвать такое поведение? В частности, какие настройки сети/маршрутизатора/брандмауэра могут привести к тому, что соединение (по протоколам TNS и TCP в соответствии с Wireshark) будет работать медленно, но не полностью, для конкретной реализации поставщика данных Oracle?
Смущенный и слегка напуганный,
Джеймс.