воскресенье, 30 января 2011 г.

disk performance

Один из сложных вопросов – сайзинг сервера, и с проникновением виртуализации во все области он проще не стал.
Вопрос “какой сервер мне надо под <список задач>” – один из популярных.
А самая сложная, как мне видится, подсистема – дисковая. Сложность в том, что много факторов оказывает влияние, и не все очевидно. Самые, наверное, главные из простых:
  • конфигурация RAID и количество дисков;
  • тип дисков (их производительность);
  • характер доступа (случайный или последовательный, какой процент операций – чтение, какой - записи).
Что можно сказать про сайзинг дисковой подсистемы:
1) в простом случае, когда мы говорим про сферический RAID массив в вакууме или близко к тому – мы можем довольно точно предсказать его производительность (ну или сконфигурировать RAID массив нужной нам производительности). Простые конфигурации, типа массивов на внутренних дисках серверов или простеньких систем хранения попадают в эту группу довольно хорошо.
2) в случаях посложнее, когда речь идет про СХД классом повыше, вмешиваются такие факторы как эффективность работы кэш памяти и всякие механизмы оптимизации (характерный пример – SSD кэш, на который помещаются часто используемые данные). Эти вещи могут оказать заметное влияние на производительность, и из общих соображений их учесть сложно.
Поэтому для случаев 2) следует обращаться к специализированным калькуляторам IOPS, предоставляемых поставщиком соответствующих СХД, и к опыту людей, в данной области работающих.
А вот про случай 1) оставлю памятку:

Сначала конкретика – утилита для расчетов

теория про производительность

Теория про расчет IOPS

Хорошая картинка из документа RAID_spindle_calculator – иллюстрирует что есть операции, выполняемые всего, и операции выполняемые с полезной на нагрузкой. В том смысле что откуда берутся накладные расходы, RAID пенальти.
vcloud-28

Для расчетов нужна справочная информация по производительности одного диска-шпинделя

iops_per_drive

Немаловажным моментом является тестирование. Штука специфическая, из тематического приведу пару ссылок, без претензий на полноту описания вопроса:

5 комментариев:

  1. "и с проникновением виртуализации во все области он проще не стал"

    Я бы добавил что с приходом виртуализации это стало сложнее !

    ОтветитьУдалить
  2. я бы сказал что в чем то сложнее, в чем то проще - все же цена ошибки часто не так высока, как при сайзинге сервера для одной задачи.

    ОтветитьУдалить
  3. однозначно, тем более что ошибки можно исправить с минимальным импактом

    ОтветитьУдалить
  4. Я бы так не сказал :)
    В том что касается процессоров/памяти, может и так (если вы не закладывались в 50% экономию памяти по технологиям MO, например).
    А вот в том, что касается дисков, на лету (без вложений) что-то исправить сложно.

    ОтветитьУдалить