Низкая скорость чтения. Raid 10 + H700 (1 ГБ ОЗУ + батарея) + 4x 450 Hitachi 15K

Низкая скорость чтения. Raid 10 + H700 (1 ГБ ОЗУ + батарея) + 4x 450 Hitachi 15K

Итак, я установил 4x 450 ГБ Hitachi 15K в Raid 10 (Dell T610 + H700 + память + аккумулятор).

У меня очень простая проблема. Скорость чтения ужасная, я также установил Raid 0 (2x 3TB WD Red) и скорость составляет около 330 МБ/с для чтения и 310 МБ/с для записи.

С 4 дисками SAS по 15 тыс. об. и объемом 450 ГБ в RAID10 я получаю всего 300–360 МБ/с на чтение и 330 МБ/с на запись :/, хотя, по моим расчетам, скорость чтения должна быть ~500–600 МБ/с и записи 300 МБ/с...

Я использую новую прошивку для H700, новый BIOS для Dell T610, Windows Server 2008 R2.

Всего в системе 1x 120 ГБ Vertex 3 для ОС, 2x 3 ТБ 7K Raid 0 (330 МБ/с и 310 МБ/с), 4x 450 ГБ 15K Raid 10 (300-360 МБ/с и 330 МБ/с)

Все тесты проведены на CrystalDiskMark

Что происходит ???

Когда я пытаюсь скопировать данные между дисками, я иногда вижу очень высокую скорость передачи данных, но только в течение нескольких секунд, обычно она составляет ~190-250 МБ/с :(

Это неприемлемо плохая работа, и я хотел бы спросить вас, что мне следует проверить...

Этот сервер имеет только одну роль, SQL Server (голое железо) с 1 базой данных ~ 2,5 ТБ (~150 млн строк) (база данных находится на 2 RAID-массивах по 3 ТБ), а вторая база данных должна быть развернута на 4 RAID-массивах по 450 ГБ (~500-600 ГБ (750 млн строк))...


Хорошо, я обнаружил проблему здесь!!!

По какой-то причине во время чтения используются только 2 диска!!! (мигают только 2 диска)

Это 4x Raid 10, поэтому он должен использовать 4x диска. Что я делаю не так???

Это Dell Perc H700

решение1

С точки зрения последовательной производительности, как для чтения, так и для записи, RAID10 из четырех дисков ведет себя точно так же, как RAID0 из двух дисков. Вы сами это видите, когда мигают всего два диска. Это ожидаемое поведение.

Это так, потому чтоRAID1в стандартной конфигурациине увеличивает скорость последовательного чтения. (задавался этим же вопросом около 11 лет назад и получилэтот ответ разработчика FreeBSD Павла Якуба Давидека).

Дело в том, что в стандартном RAID1 на обоих дисках находятся одни и те же данные. Поэтому если вы считываете часть с одного диска, а часть с другого, вам фактически приходится пропускать (искать) непрочитанные части. Но на самом деле пропуск этого так же затратен с точки зрения производительности, как и чтение данных. Таким образом, вы получаете только выигрыш в производительности от RAID0 в вашей настройке. (Я предполагаю, что ваши диски считывают около 150-180 МБ/с каждый.)

Существуют методы, которые помогают увеличить скорость чтения в массиве RAID1. Например, вы можете взглянуть на схему (далеко и смещение) в драйвере Linux md. Это хорошо объяснено вэтот ответ.

Связанный контент