Я пытаюсь понять оптимальное количество дисков, необходимое в конфигурации RAID для приложения, которое отслеживалось в пиковое время, чтобы иметь следующие IOPS.
Дисковая подсистема разделена на данные на RAID 10, tempdb на RAID 1 и журналы на RAID1 или RAID10.
Я использую стандартный расчет для расчета количества необходимых дисков
Reads fraction + (Write Penalty * Write Fraction)
Количество необходимых дисков = --------------------------------------------- -------- IOPS для одного диска
Это работает следующим образом с накопителем IOPS 120:
Диск с данными
RAID 10
IOPS 240 98% пишет 2% читает
Требуется минимальное количество дисков при условии 240 IOPS = 4 Требуются идеальные диски при условии 500 IOPS = 8
TempDB
RAID 1 или RAID 10
Число операций ввода-вывода в секунду 1,4 49% операций записи 51% операций чтения Минимальные диски при условии 1,4 операций ввода-вывода в секунду = 2 Требуются идеальные диски при условии 3 операций ввода-вывода в секунду = 4
Лог-файлы
RAID 1
IOPS 600 100% записи 0% чтения
Минимальные диски при 600 IOPS = 10 Идеально при 1200 IOPS = 20
Мой вопрос: кажется ли это правильным согласно расчетам и как люди реализуют такую установку в реальном мире. Требования к дискам для журналов кажутся огромными, и в целом для идеальной реализации потребовалось бы 32 диска. Будет ли кто-нибудь реально покупать сервер с 32 дисками или будет использоваться какая-то установка SAN?
Заранее благодарим за любую помощь, которую вы можете оказать, и извините за вопросы n00b. Любые исправления в моих предположениях очень приветствуются.
Позвольте мне предварить это, сказав, что необработанные данные о количестве операций ввода-вывода в секунду на дисках могут вводить в заблуждение. Число операций ввода-вывода в секунду является случайным поиском; если ваша нагрузка составляет 98% записи, то очень мало шансов, что она не будет немного последовательной, и ваши журнальные диски определенно будут менее интересными. Последовательная запись будет быстрее, чем можно предположить при использовании чисел случайного поиска.
Тем не менее: не уверен насчет среднего набора, это всего 1,4 IOPS против 3 IOPS? Это очень низкая нагрузка и не потребуется больше диска; это опечатка?
Причина, по которой цифры в последнем наборе стали такими зверскими, - это полная загрузка записи. В конфигурации RAID 1 каждая запись должна происходить полностью на каждом диске. Теоретически невозможно достичь более высокой скорости записи, чем один диск в конфигурации RAID 1, поэтому произвольная нагрузка записи 600 IOPS на диск 120 IOPS будет узким местом в хранилище. Чтение будет ослепительно быстрым, но запись - это скорость одного диска. Если один диск не записывает достаточно быстро, вам нужен режим RAID, который распределяет записи.
Теперь что касается реализации:
В первую очередь отвечая на последний вопрос: если вы планируете купить более 30 дисков, в долгосрочной перспективе вам, вероятно, будет лучше, если вы купите внешний дисковый массив. Он не обязательно должен быть полным на Fibre-Channel или iSCSI SAN, простой корпус SAS предоставит шпиндели и кусок кеш-памяти в аппаратном рейде.
Цифры кажутся примерно правильными, хотя, если вы используете диски SAS со скоростью 15 000 об / мин, можно ожидать, что каждый из них получит около 150 операций ввода-вывода в секунду.
Одна вещь, о которой вы не говорили, - это емкость, поэтому я предполагаю, что база данных относительно мала? В этом случае определенно стоит присмотреться к SSD вместо обычного диска. Каждый SSD может заменить 10 и более дисков.
В Великобритании SSD на 250 ГБ от Ключевой будет стоить около 320 фунтов стерлингов + налоги. NewEgg продают такой же диск за 500 долларов. Вставьте 4 или 6 из них в массив RAID10 внутри обычного сервера и забудьте о необходимости разделять базу данных tempdb, файлы журналов и данные.