Новые аппаратные технологии

Как мы упоминали ранее, для прогнозирования мощностей необходимы два важных информационных компонента — потолки и исторические данные. Исторические данные жестко зафиксированы, а потолки — нет, потому что каждый потолок привязан к конкретной аппаратной конфигурации.

Если повезет, оптимизация изменит их к лучшему. Кроме того, обновление оборудования возможно с переходом на более новые и лучшие технологии. Как упоминалось, новая технология (например многоядерные процессоры) может серьезно изменить вычислительную мощность, которую можно «выжать» из одного сервера. Процесс прогнозирования, описанный в этом разделе, позволяет не только отслеживать перспективы отдельных узлов, но и думать о том, какие сегменты архитектуры стоит перевести на новые аппаратные технологии.

Вследствие непредсказуемого характера обращении к Flickr, оборудование баз данных в настоящее время ограничивается интенсивностью дискового ввода/вывода, с которой могут справиться серверы. Каждый сервер баз данных сейчас оснащается шестью дисками RAID 10 с 16 Гбайт ОЗУ. Большая часть физической памяти выделяется в распоряжение MySQL, а остальная память используется под кэш файловой системы для оптимизации дискового ввода/вывода. В архитектуре появляется «узкое место» аппаратного уровня. У проблемы есть несколько решений, в числе которых:

  • горизонтальное распределение нагрузки по разным шести-дисковым серверам (текущий план);
  • замена каждого шестидискового сервера аппаратной платформой с большим количеством дисководов;
  • расширение физической памяти для повышения производительности как файловой системы, так и MySQL:
  • использование более быстрых технологий ввода/вывода, например, твердотельных дисков (SSD, Solid-Slate Disks).

Какой из этих вариантов следует выбрать для улучшения ситуации? Если только вам не предстоит очень быстрое наращивание количества узлов в архитектуре, это не так уж существенно. Если же у вас имеются точные прогнозы по поводу того, сколько серверов необходимо добавить в текущей конфигурации, вы обладаете хорошей основой для оценки альтернатив.

Другое долгосрочное решение основано на том, чтобы обратить эти «узкие места» себе на пользу. Поскольку компьютеры, ориентированные на работу с диском, расходуют относительно небольшую часть процессорного времени, мы можем использовать бездействующие процессоры для выполнения других задач, повышая эффективность использования оборудования. Вопросы эффективности использования и виртуализации рассматриваются далее.