Попробуйте увеличить размер буфера по умолчанию для ваших задач потока данных.
Как я уже говорил в "Best Practices # 6", дерево выполнения создает
буферы для хранения входящих строк и выполнения преобразований. Так
сколько буферов это создает? Сколько строк вписывается в один
буфер? Как это влияет на производительность?
Количество созданных буферов зависит от того, сколько строк помещается в
буфер и сколько строк помещается в буфер в зависимости от нескольких других
факторы. Первое соображение - это предполагаемый размер строки, который
сумма максимальных размеров всех столбцов из входящих
записей. Второе соображение - это свойство DefaultBufferMaxSize
задачи потока данных. Это свойство определяет максимум по умолчанию
размер буфера. По умолчанию установлено значение 10 МБ , а его верхнее и нижнее значения
границы ограничены двумя внутренними свойствами SSIS, которые
MaxBufferSize (100 МБ) и MinBufferSize (64 КБ) . Это значит размер
размера буфера может составлять до 64 КБ и до 100 МБ. Третий
коэффициент равен DefaultBufferMaxRows, который снова является свойством потока данных
задача, которая определяет количество строк по умолчанию в буфере. это
значение по умолчанию: 10000 .
Хотя SSIS хорошо настраивает эти свойства по порядку
создать оптимальное количество буферов, если размер превышает
Затем DefaultBufferMaxSize уменьшает количество строк в буфере. За
лучшую производительность буфера вы можете сделать две вещи. Сначала вы можете удалить
нежелательные столбцы из источника и установить тип данных в каждом столбце
соответственно, особенно если ваш источник - плоский файл. Это будет
позволяет разместить как можно больше строк в буфере.
Во-вторых, если в вашей системе достаточно памяти, вы можете настроить
эти свойства имеют небольшое количество больших буферов, которые могут
улучшить производительность. Осторожно, если вы измените значения этих
свойства до точки, в которой спулинг страницы (см. Best Practices # 8)
начинается, это отрицательно влияет на производительность. Поэтому, прежде чем установить значение
для этих свойств, сначала тщательно протестировать в вашей среде и
установите значения соответствующим образом.
Вы можете включить ведение журнала события BufferSizeTuning, чтобы узнать, сколько
строк в буфере, и вы можете отслеживать "Буферы буферизованы"
счетчик производительности, чтобы увидеть, начал ли SSIS буферизацию страниц. я
расскажу больше о регистрации событий и счетчиках производительности в моем следующем
Советы этой серии.