Почему компонент Lookup задерживает поток данных и как мне выяснить, почему? - PullRequest
1 голос
/ 26 мая 2011

У меня есть поток данных для переноса строк из базы данных в новую версию базы данных. Одним из изменений, которое мы делаем, является замена строк с именами пользователей целочисленным идентификатором.

Я использую компонент «Уточняющий запрос», чтобы заменить имена менеджера и трейдера их числовым идентификатором, но одно из преобразований выполняется очень медленно по сравнению с другим. На следующем снимке экрана показано, насколько далеко отстает компонент Lookup Trader от компонента Lookup Manager.

SSIS Data Flow

Как вы можете видеть, примерно 22м строк были переданы компоненту Lookup Manager, и он "всего лишь" на 100 тыс. Строк позади, но данные, переданные в компонент Lookup Trader, почти на 8м позади.

Поиск содержит один и тот же запрос для получения имени пользователя и идентификатора для всех трейдеров и менеджеров (они ведутся в одной таблице), и оба они настроены на использование Full Cache. Они ищут один и тот же тип данных (строку) и оба добавляют новое поле в поток типа INT.

Я не понимаю, почему один компонент работает намного быстрее, чем другой, когда они практически одинаковы. Значки предупреждения на обоих компонентах отображаются, потому что я установил действие ошибки на Fail Component во время отладки, даже если подключен выход ошибки. Позже я перенаправлю ошибки в плоский файл.

Мой вопрос в два раза; почему один работает намного медленнее другого и, что более важно, как мне узнать почему ?

1 Ответ

1 голос
/ 26 мая 2011

После комментария от Damien_The_Unbeliever о компонентах позднее в потоке данных я провел тест, извлекая два компонента поиска и направляя их вывод a в Назначение корзины ; Я также изменил порядок компонентов, чтобы проверить, работает ли один из них быстрее, чем другой.

Все работало хорошо до тех пор, пока оба компонента поиска не остановились, и ввод не увеличился до почти 5 м строк, но в целом данные обрабатывались быстро, и компонент Lookup Trader работал не медленнее, чем Lookup Manager .

Таким образом, казалось бы, более поздние компоненты вызывают узкое место в потоке и, следовательно, заставляют его казаться, что Lookup Trader был виновником.

Test data flow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...