Прочитав множество предложений, касающихся ОС сервера и проблем с сетью, я сузил круг вопросов до самого клиента Oracle. Если я удаленно отлаживаю свой код, устанавливаю точку останова для оператора open, а затем запускаю Sysinternals Process Monitor, я могу подтвердить, что первый оператор open выдает 544 записи, второй и последующие тесты создают по 2 записи.
Записи довольно случайны, но в основном относятся к криптографии. Краткий обзор журналов:
- RegOpenKey, HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider Types\Type 001
- RegOpenKey, HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft Strong Cryptographic Provider
- RegSetInfoKey, HKLM\SOFTWARE\Microsoft\Bryptography\MachineGuid >
[*]RegQueryValue, HKLM\System\CurrentControlSet\WinSock2\Parameters\Protocol_Catalog9
[*]RegCreateKey, HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
[*]RegCreateKey, HKLM\System\CurrentControlSet\Services\DnsCache\Parameters
[*]RegOpenKey, HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
< /ul>
Затем следует несколько чтений файла Machine.config, за которыми следует несколько TCP-подключений и получение порта оракула 1521. После этого следует раздел, считывающий часовой пояс из реестра. .
Мой вопрос: почему клиент Oracle делает все это при первом открытии? Могу ли я каким-либо образом заранее определить ответ на некоторые из этих вопросов? (например, настроить часовой пояс, чтобы ему не приходилось «спрашивать» Oracle)?
Подробнее здесь: https://stackoverflow.com/questions/379 ... -very-slow