У нас есть HP MSA70 с дисками 20x300gb 2,5 "10k, выделенными для нашего сервера SQL2008.
Мы используем SQL-сервер:
50 одновременных пользователей нашей ERP-системы (бизнес Visma) - чтение / запись 70/30.
2500 пользователей пр. день на нашем сайте (система CMS + интернет-магазин) - (прогнозируется 5000 пользователей до конца года)
Система бизнес-аналитики, которая извлекает данные 8 раз в день с чрезвычайно тяжелыми запросами (включая наши производственные) **, система бизнес-аналитики не выполняет никаких операций записи на эти диски - только считывает.
Атм. массив настроен как RAID10, и все - все данные + журнал + tempdb находятся в этом массиве. Мы периодически сталкиваемся с тем, что наша ERP-система становится очень медленной, и мы обнаружили, что в основном это происходит, когда наша система бизнес-аналитики получает данные (которые длятся примерно 30 минут каждый раз).
Я уже довольно давно занимаюсь исследованиями, но я все еще сомневаюсь, как нам следует подготовить наши шпиндели. Моя идея:
8 дисков raid10 - базы данных OLTP, в основном наша ERP-система (которая состоит из 10 дБ) + tempdb
8 дисков raid10 - файлы журналов для всех баз данных
4 диска raid5 - базы данных OLAP, транзакционные реплицированные копии базы данных ERP, откуда наша система BI получает данные. ++ наш сайт.
Больше всего меня беспокоит то, что я должен взять 2 диска из массива журналов и добавить их в «OLTP», чтобы получить 10.
Я знаю, что этого недостаточно, чтобы дать точный ответ, но я ищу некоторые рекомендации и хорошие идеи :-)
Что происходит с ожидаемой продолжительностью жизни страницы, когда запускается процесс ETL? По мере того, как вы добавляете больше ОЗУ, это число будет расти, что в целом сделает вашу жизнь лучше.
Скорее всего, вам не нужно вносить изменения в систему хранения.
Что показывает sys.dm_io_virtual_file_stats?
Когда вы видите проблемы с производительностью, каковы типы ожидания?
Правильно ли настроены индексы при работе ETL?
Вы сталкиваетесь с серьезными проблемами, связанными с дисковым вводом-выводом, когда процесс бизнес-аналитики выполняет все эти извлечения. Учитывая, как это работает (запрашивать данные в продукте для перемещения на склад), вы не так много можете сделать с точки зрения хранения с вашей конфигурацией, чтобы улучшить ситуацию. Вам просто нужно больше шпинделей. Выполните несколько запусков PerfMon, чтобы увидеть, вызваны ли ваши проблемы тем, что база данных BI фиксирует данные (записи) или все эти запросы используют операции ввода-вывода. Если позже, добавьте больше шпинделей в эту базу данных, где это возможно, чтобы облегчить работу.
Возможно, вы захотите серьезно изучить вопрос об увеличении объема оперативной памяти, имеющейся на сервере базы данных, так как это поможет снизить некоторую нагрузку на диск, которую вы наблюдаете.