У нас есть клиент, который жалуется на производительность приложения, использующего базу данных MS SQL. Они не считают, что проблемы с производительностью являются виной самого приложения.
RAID-контроллер Smart Array E200i имеет 128 МБ кэш-памяти, и мы установили для него значение 75% чтения / 25% записи. Дисковый массив установлен для включения кэширования записи.
Недавно мы провели тест производительности диска, используя SQLIO на основе это руководство. Мы использовали файл размером 10 ГБ для теста и обнаружили, что средняя скорость последовательного чтения составляла ~ 60 МБ / сек (мегабайт / сек), а средняя скорость случайного чтения составляла ~ 30 МБ / сек. Соответствуют ли эти числа тому, что должен выполнять сервер? Лучше чем наравне? Какой ужас? Удивительный?
Дополнительная информация по настройке сервера / конфигурации RAID-контроллера:
В массиве RAID 5 сконфигурированы три диска SAS 10k RPM 3,0 ГБ / с (модель HP DG146BABCF) емкостью 146 ГБ. Это единственные физические диски, доступные серверу, поэтому и журналы, и данные, включая данные операционной системы и файл подкачки, находятся на одном физическом массиве дисков (есть 2 логических диска с отдельными данными ОС). Размер полосы массива установлен на 64 КБ. Общий полезный объем составляет 273 ГБ.
HP Advanced Data Guard выключен. Приоритет восстановления и расширения установлен на средний. Задержка сканирования поверхности 15 сек. Контроллер имеет плату кэш-памяти и аккумулятор.
E200i имеет заведомо низкую производительность, как это задокументировал Лукас. Вот и Райан Вот. Убедитесь, что у вас установлен дополнительный комплект батарей (BBWC), и утилита конфигурации HP Array показывает, что состояние батареи в порядке. (В служебной программе настройки массива HP щелкните Контроллер в представлении конфигурации в центре и выберите «Дополнительная информация» в меню «Общие задачи» справа). Наличие этой батареи дает контроллеру диска хороший прирост производительности.
Но лучше всего будет заменить E200 на «правильный» контроллер HP SmartArray, P400 или P600 с 512MB BBWC должны дать вам хороший прирост скорости.
Слишком много непредсказуемого. Например, как настраиваются диски? Если журналы и данные используют одни и те же диски, случайный ввод-вывод из областей данных нарушит трафик журнала, который в основном представляет собой последовательный ввод-вывод, и на него непропорционально влияет загруженная рабочая нагрузка произвольного доступа на одних и тех же дисках.
Без более глубокого понимания вашей конфигурации я не могу сказать, что может быть причиной проблемы.
Например, 60 МБ / с на RAID примерно подходит для 4-дискового RAID-5 или RAID-10 с полосами 64 КБ и дисками 15 КБ. Каждый диск будет читать одну полосу размером 64 КБ за оборот диска (около 250 / сек для диска 15 КБ), что дает вам 15 МБ / сек на каждый диск.
Среднее время поиска для диска размером 15 КБ составляет около 3 мс по всему диску. В основном непрерывном файле размером 10 ГБ на томе RAID с (скажем) дисками 146 ГБ или 300 ГБ и небольшой помощью кеша я мог видеть 30 МБ / с, что является разумным показателем для дискового массива, настроенного, как описано выше. Это будет означать усреднение данных, прочитанных каждые два оборота дисков.
Это моя мысль о конфигурации, которую можно было бы разумно ожидать увидеть на ML350. Однако я понятия не имею, соответствует ли это вашей реальной конфигурации, поэтому я не могу прокомментировать, актуальны ли наблюдения в вашем случае.
У вас не должно быть «псевдо-деградированного» Raid5 в качестве резервного хранилища базы данных. AFAIK - это самая медленная конфигурация диска. Добавьте сюда младший контроллер, и лучше не станет.
Владельцы Hitachi AMS могут игнорировать эту публикацию (4 диска raid5 = более 300 МБ / с). В остальном это, вероятно, применимо.
Ниже приведен тест, который мы провели с аналогичным оборудованием, и отмечены некоторые отличия. Я предполагаю, что частично снижение производительности связано с смещением разделов (по умолчанию Windows 2003 смещает разделы). Выполните следующую команду, и если начальное смещение равно 32256, оно смещено.
раздел wmic получить индекс, размер блока, имя, начальное смещение
Чтобы правильно выровнять разделы, нужно использовать утилиту DISKPART.
Тестовое оборудование:
HP DL380 G5
2 розетки, всего 4 ядра
16 ГБ оперативной памяти
Контроллер HP P400
Кэш 512 МБ
25% чтение / 75% запись
Жесткие диски со скоростью вращения 10 000 об / мин
Windows Server 2003, 32-разрядная
Пятиминутный цикл испытаний
Результаты (МБ / сек):
(RS: последовательное чтение RR: произвольное чтение WS: последовательная запись WR: произвольная запись)
Raid5 3 HD:
RS 180
180 руб.
WS 120
WR 130
Raid5 4 HD:
RS: 240
RR: 260
WS: 175
WR: 180
Raid5 5 HD:
RS: 310
RR: 320
WS: 210
WR: 225
Установлен ли в Smart Array E200i кэш записи резервного аккумулятора? Я видел ужасную производительность контроллеров Smart Array без BBWC.
Что касается показаний скорости передачи данных, которые вы сняли, я не могу комментировать, я видел 60 МБ / с на высокопроизводительной настольной системе. тем не мение показания скорости передачи данных могут врать! Опубликуйте параметры используемого инструмента для лучшего сравнения.
Короткий ответ = ВКЛЮЧИТЬ кеш записи, НО установите для КЭША ЗАПИСИ значение 0% через HP CLI. [ctrl slot = 0 изменить cacheratio = 100/0 | ctrl slot = 0 изменить dwc = enable] Включите, но не используйте, поймите!
Я только что установил сервер Open-e DSS V6 на HP ML350 G5 с RAID-контроллером E200i, 128 МБ BBWC и 6 дисками по 1,5 ТБ 7200 об / мин в массиве RAID 10. У меня была очень плохая производительность, менее 100 iostats при высокой скорости инициализации тома ввода-вывода iSCSI. У меня есть аналогичные конфигурации с использованием карт 3Ware 9550, производящих более 1000 iostats, поэтому я пытался выяснить, что за ??? шло не так.
Небольшое исследование направило меня сюда и на статью Experts-Exchange (http://www.experts-exchange.com/Storage/Hard_Drives/Q_24947953.html). Похоже, что процессор RAID 5 и кэш записи являются проблемными компонентами для этого контроллера. Я не использовал RAID 5, поэтому я экспериментировал с кешем чтения / записи через интерфейс командной строки контроллера HP, который Open-e удобно вставляет в свое программное обеспечение.
Интерфейс командной строки работал ОЧЕНЬ МЕДЛЕННО, команды отвечали через минуту. Наконец, вышеуказанная команда заставила массив работать ближе к ожидаемому. Сейчас я вижу почти 1000 iostats, и интерфейс командной строки отвечает нормально. Да, вам нужно включить кеш записи и установить его на 0%. Никакая другая комбинация не работает. Даже использование параметра отключения кеширования записи не смогло обеспечить приемлемую производительность.