2009-11-09 5 views
1

У нас есть несколько файлов GB, каждый день загружаемых в экземпляр SQL Server 2005 через пакеты SSIS. Чтобы загрузить эти большие файлы данных на SQL Server асинхронно, мы создали многопоточное приложение .NET. Это приложение использует исполняемый файл командной строки DTSExec для вызова пакетов SSIS. Он также создает 5 очередей и 5 потоков для каждой очереди. Таким образом, одновременно можно загрузить всего 25 файлов.Распределение памяти экземпляра SQL Server 2005 и производительность SSIS DTSExec

Это приложение, скажем, «AsyncLoader», живет на том же компьютере, что и экземпляр SQL Server 2005 и экземпляр SSIS. Серверная машина огромна. 32 процессора, 128 ГБ памяти, SAN и т. Д. Мы выделили 5% памяти ОС, а остальная часть памяти зарезервирована для экземпляра SQL Server 2005. Вот мои варианты;

1) Переместите экземпляр SSIS и AsyncLoader на свою собственную машину, чтобы DTSExec имел собственное пространство большой памяти для работы. Исключите циклы CPU SSIS с машины SQL Server.

2) Держите всех игроков (SQL Server, SSIS, AsyncLoader) на одном компьютере и уменьшите общую выделенную память на SQL Server до 75%, чтобы у DTSExec больше памяти для работы.

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

+0

Еще одна вещь; На прошлой неделе AsyncLoader перешел в бесконечный цикл и разбил сервер базы данных. Это дает еще один голос за перенос служб и SSIS на собственную машину. Если приложение выйдет из строя на сервере, сервер базы данных все равно будет запущен и запущен. – mevdiven

ответ

1

Я бы выбрал 2 коробки, простые и простые.

Я также надеюсь, что вы тоже на 64 бит с 128 ГБ оперативной памяти.

Таким образом, установка SSIS представляет собой отдельный исполняемый файл из экземпляра sqlservr.exe. Таким образом, вы можете голодать SSIS процессора, а не память. Вы можете попробовать изменить processor affinity, чтобы позволить SQL Server использовать только 16 ядер и позволить памяти найти собственный уровень. Я не играл с другим вариантом привязки IO, поэтому не имею комментариев.

Однако вы AsyncLoader штуковина может заслуживать коробку его собственной: раствор 3 сервера ...

Другие: есть ли у вас антивирус установлен? Является ли SAN узким местом?

+0

Да, gbn, box - 64-разрядная ОС. SAN не является узким местом. – mevdiven

Смежные вопросы