Выделение памяти экземпляра SQL Server 2005 и производительность служб SSIS DTSExec

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

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

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

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

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

9.11.2009 14:16:18
Еще кое-что; На прошлой неделе AsyncLoader зашел в бесконечный цикл и сломал сервер базы данных. Это дает еще один голос за перенос служб и служб SSIS на собственную машину. Если приложение выходит из строя на сервере, сервер базы данных все еще будет работать.
mevdiven 9.11.2009 15:38:35
1 ОТВЕТ
РЕШЕНИЕ

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

Я также надеюсь, что вы используете 64-разрядную версию и 128 ГБ ОЗУ.

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

Тем не менее, вы AsyncLoader, что может заслужить свою собственную коробку: решение с 3 серверами ...

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

1
11.11.2009 20:34:19
Да ГБН, коробка 64-битная ОС. САН не узкое место.
mevdiven 12.11.2009 18:52:39