Ускорение обработки данных с помощью ssis и ssd-накопителя

У нас есть новый локальный сервер, который обрабатывает данные с помощью sql server 2008 и ssis. на этом сервере у меня есть выделенный диск для разных вещей. диск c предназначен для ОС и программного обеспечения. диск d предназначен для хранения БД, а SSIS. Диск e — это ssd-диск, на который мы восстанавливаем каждую базу данных, используемую SSIS.

наша идея заключалась в том, что мы обрабатываем выделенные данные, и, поскольку накопитель ssd составляет всего 500 ГБ (из-за стоимости), мы будем хранить все на обычном диске и переносить используемые базы данных на накопитель ssd, чтобы процесс выполнялся быстрее.

когда я запускаю ssis без диска ssd, это занимает около 8 часов, и когда я запускаю процесс восстановления баз данных на диске ssd, процесс занимает примерно столько же времени для обработки (фактически, если я включаю восстановление баз данных процесс занимает больше времени) На данный момент я не могу переместить ОС и программное обеспечение на ssd-накопитель, чтобы проверить, поможет ли это процессу.

Есть ли способ использовать ssd-накопитель для обработки данных и ускорения процесса.


person user2615302    schedule 07.01.2014    source источник
comment
Хммм, может узкое место не в вводе-выводе?   -  person Aaron Bertrand    schedule 07.01.2014
comment
Я не верю, что теория, лежащая в основе этого, заключается в том, что если мы переместим базу данных на ssd-диск, они будут обрабатываться быстрее.   -  person user2615302    schedule 07.01.2014
comment
@AaronBertrand: В любом случае, не User-DB-I/O. Не исключает ввод-вывод ОС, возможно, из-за ошибки 1000 страниц в секунду из-за нехватки памяти или ввода-вывода tempdb или ...   -  person TToni    schedule 07.01.2014


Ответы (1)


Если вы хотите ускорить данный процесс, вам нужно найти узкое место.

Вообще говоря (поскольку вы не даете подробностей о процессе SSIS), в каждый момент операции один из компонентов системы (ЦП, ОЗУ, ввод-вывод, сеть) работает с максимальной скоростью. Вам нужно найти компонент, который вносит наибольший вклад в ваше время выполнения, а затем либо ускорить этот компонент, заменив его более быстрым компонентом, либо уменьшить нагрузку на него, изменив процесс.

Поскольку вы уже исключили ввод-вывод в базы данных пользователей, вам нужно искать в другом месте. Для общего специального просмотра используйте монитор системных ресурсов (доступный через диспетчер задач). Для более глубокого изучения существует множество счетчиков производительности, доступных через perfmon.exe, как для ОС (ЦП, ввод-вывод), так и для SSIS и SQL Server.

Если у вас есть основания полагать, что DB-I/O является вашим узким местом, попробуйте переместить базу данных tempdb на SSD (если у вас обычно большая нагрузка на базу данных tempd, это в любом случае хорошая идея). Инструкции здесь.

Если вы не предоставите нам более подробную информацию о рассматриваемом процессе SSIS, это все, что я могу сказать на данный момент.

person TToni    schedule 07.01.2014
comment
Как вы думаете, если бы я переместил ssis на ssd-диск, он бы обработался быстрее. Насколько ssis является эффективным процессом, я знаю, что это не так. но я хочу, чтобы процесс находился в правильном месте на сервере, прежде чем я начну изменять процесс, используя ssd-накопитель, в полной мере. доза, которая имеет смысл? - person user2615302; 07.01.2014
comment
@ user2615302: Процесс живет в ОЗУ, а не на диске. Пакет SSIS — это просто набор кода, который один раз загружается в оперативную память, а затем выполняется, независимо от того, откуда он взялся. Если сам пакет не имеет размер в несколько ГБ, не будет иметь никакого значения, откуда вы его загрузите. - person TToni; 07.01.2014