Назад | Перейти на главную страницу

Производительность SSIS 2008 R2 и вопрос о кластеризации Windows 2008 R2

Я тестирую различные конфигурации для загрузки данных с удаленного SQL-сервера с помощью SSIS. В кластерной ситуации SSIS медленнее обращается к локальному кластеризованному экземпляру SQL по сравнению с некластеризованным локальным экземпляром SQL. Это похоже на любой сценарий, в котором SSIS обращается к кластеризованному экземпляру SQL; обмен данными происходит по сети независимо от того, является ли экземпляр SSIS локальным или нет. Это правда?

В моем текущем сценарии SSIS 2008 R2 работает на узле с кластеризованными экземплярами SQL Server 2008 R2. Кажется, что он взаимодействует с кластеризованным экземпляром через какой-то сетевой интерфейс, даже если они оба находятся на одном узле. Как ни странно, я не могу определить, какой это интерфейс.

Вот общий план:

Физический IP-адрес узла 1 кластера 192.168.1.100

Имя экземпляра SQL Server "sql2008" имеет IP-адрес 192.168.1.101.

Экземпляр SQL Server находится на узле 1

Источник удаленного SQL-сервера для SSIS IP 192.168.1.55

Скорость передачи нагрузки SSIS кажется медленной. Сетевой сеанс SSIS с удаленным источником сервера SQL отображается в разделе «Сеть» в мониторе ресурсов.

Изображение: DTExec.exe

PID: 8864

Адрес: 192.168.1.55

Отправка (бит / сек): 968

Прием (бит / сек): 1,682,022

Итого (бит / сек): 1,682,990

Но SSIS для загрузки также появляется в сети. Кажется, что он запускается с локального узла на IP-адрес конечного SQL-сервера через сетевую связь, потому что DTexec отображается в Resource Monitor - Network как говорящий с IP-адресом конечного SQL-сервера.

Изображение: DTExec.exe

PID: 8864

Адрес: 192.168.1.101

Прием (бит / сек): 120

Отправка (бит / сек): 20 300 868

К сожалению, когда я использую сетевой монитор для просмотра трафика, появляется трафик dtexec из источника, но активность загрузки, похоже, не использует какой-либо из сетевых интерфейсов и не видна.

При запуске этого же пакета (с тем же неизменным источником) с менее мощным некластеризованным блоком пакет SSIS работает в 2 раза быстрее, говоря с локальным экземпляром, и процесс загрузки Dtexec не отображается в разделе «Сеть» в мониторе ресурсов. Появляется только сетевой сеанс Dtexec для исходного процесса с такой же скоростью.

Придает ли мне импульс недостающий сетевой трафик в некластеризованном сценарии, или я смотрю на что-то вводящее в заблуждение?

Ваш SQL Server имеет IP-адрес, отличный от вашего SSIS. Кластерный SQL всегда будет получать трафик с «виртуального сетевого адреса», ip = 101 в вашем случае, даже если он размещен на «Узле A» и у вас есть программа, работающая на «Узле A», SSIS ip = 100 в ваше дело.

Так работает кластеризация.

Кстати, виртуальный IP-адрес контролируется службой кластеризации и привязан к одной из сетевых карт на узле A или B, на котором когда-либо размещается кластерный SQL Server.