Оверсан corporate blog
22 April 2011

Тестирование дисков облачных провайдеров

После запуска в Скалакси новой системы хранения, мы выполнили миграцию на нее всех пользовательских данных со старой системы и решили сравнить скорость новой системы с существующими решениями на рынке. Под катом тест производительности систем хранения следующих облачных провайдеров: Amazon, Rackspace, Terremark, Скалакси, Селектел, Clodo.

Для тех читателей, кто хочет сразу узнать результат не погружаясь в методику тестирования, резюме следующее: система хранения Скалакси — в целом наиболее производительная среди протестированных провайдеров, наихудшие же результаты показала система хранения Clodo.

Ну а теперь подробнее.

Выбор компаний


Изначальный список компаний был следующим: Amazon, Rackspace, Terremark, Скалакси, Селектел, Clodo, Activecloud, VMco, IT-Grad vCloud, Slidebar.ru.

Но, некоторые из них отвалились в силу следующих причин:

Activecloud — отсутствие почасовой оплаты за ресурсы, что по нашему мнению является обязательным требованием.
VMco и IT-Grad vCloud — российские представители платформы VMware и систем хранения NetApp, отсутствие почасовой оплаты и ручное создание машин.
Slidebar.ru — облачный хостинг на платформе Microsoft Hyper-V, мы не смогли в течение недели установить здесь Linux, так как функция монтирования ISO образов не работала.

Комментируем оставшихся.

Скалакси — мы сами, IBRAID хранилище на шине Infiniband, решение на базе Xen.

Иностранные:

Amazon — лидер на мировом рынке cloud computing, задает планку остальным, тестировались максимально быстрые EBS диски (на которые все равно все жалуются, так как нагруженная БД на них работает с трудом), решение на базе Xen.
Rackspace — также достаточно известный в мировых кругах хостер, который использует локальные диски в серверах, вместо сетевых хранилищ, решение на базе Xen.
Terremark — достаточно крупная телекоммуникационная компания, главным отличием является платформа VMware и высокопроизводительные профессиональные системы хранения EMC.

Честных российских облачных хостеров не так много, поэтому мы взяли их всех:

Селектел — коллеги, работающие с iSCSI хранилищем, решение на базе Xen.
Clodo — коллеги, работающие с первой версией нашей архитектуры 2008 года, IBM GPFS хранилище, решение на базе Xen.

Методика тестирования


Здесь мы конечно могли бы с помощью нашего коллеги расписать длинный и толстый матан, но ограничились более простым и практичным способом.

У каждого провайдера, включая себя, мы создали три виртуальные машины с debian 6 (или ubuntu 10.10, в случае его отсутствия), дисками размером 15 ГБ и количеством оперативной памяти 512 МБ (исключение Amazon, их micro instance содержит 613 МБ), чтобы кэш в оперативной памяти не сильно влиял на результаты.

На всех трех машинах мы одновременно запустили тестовый скрипт, который последовательно три раза подряд запускает iozone, признанного «убийцу» дисков, которого побаиваются и сами производители дисков. Запускали мы его со следующими параметрами: iozone -a -i0 -i1 -i2 -O -s8G, что означает выполнить тестирование на последовательные и случайные запись/чтение блоками данных от 4 КБ до 16 МБ на файле размером 8 ГБ.

Далее результаты тестирования собирались, вносились и усреднялись в гугл-таблице. Таким образом каждый пункт теста выполнялся 9 раз (3 раза на каждой из 3 виртуальных машин). Исключение составил Clodo, в силу низкой производительности за неделю мы успели прогнать только 1 тест на каждой машине.

Тесты были запущены в 12 часов дня, за несколько часов до пиковой загрузки по Москве. В целом тестирование в большинстве случаев длилось 2-3 суток.

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

Отдельно стоит добавить, что в тестировании с нашей стороны участвовали две полностью заполненные реальными данными ноды нашего хранилища, полезной емкостью 20 ТБ и постоянной нагрузкой в 10 000 IOPS на чтение и запись, дабы не тестировать просто скорость сети и кэшей. Профиль клиентов — 90% веб-проекты малой и средней посещаемости (до 50000 уникальных посетителей в сутки). Об объемах и заполненности хранилищ других провайдеров мы можем судить лишь косвенно.

Результаты


Что бы изучить результаты более детально, мы предлагаем ознакомиться с публичным гугл-документом.

А здесь статичные картинки с комментариями.

В первую очередь произвольные чтение и запись. В соответствии с соображениями инженеров Intel стандартный профиль загрузки базы данных — 67% произвольных чтений, 33% произвольных записей блоками размером от 2 до 8 КБ. Вообще, реальные системы это в большинстве случаев произвольная запись и произвольное чтение, поэтому эти тесты самые важные.

Стоить добавить, что обычный SATA диск выдает 120 произвольных IOPS (операций в секунду) на чтение и 60 произвольных IOPS на запись, SAS диск — 250 произвольных IOPS на чтение и 500 произвольных IOPS на запись (за счет кэширования записи).

Произвольное чтение

image

Скалакси, Terremark и Селектел кэшируют данные, поэтому чтение у них в целом выше остальных. При этом Селектел использует 1 Гбит/с Ethernet, а Terremark и Скалакси, 8 Гбит/с FibreChannel и 40 Гбит/с Infiniband, соответственно. Clodo в теории тоже использует кэширование, но IBM GPFS на произвольном доступе аннигилирует все преимущество.

При этом, очевидно, у Terremark, EMC или VMware какие-то проблемы с произвольным чтением малыми блоками.

Произвольная запись

image

Кэшированная запись опять выводит в лидеры Скалакси, Terremark и Селектел. Amazon и Rackspace показывают максимально возможную скорость произвольной записи на массив SAS дисков. IBM GPFS у Clodo не предназначена для произвольных операций и показывает худшие результаты.

Terremark в этом тесте в целом превзошел нашу систему хранения, но у нас сложилось впечатление, что узлы их системы хранения не полностью заняты и нагружены меньше.

Последовательное чтение

image

В этом тесте Скалакси показывает лучшие результаты с устойчивыми 300 МБ/с за счет эффективности своей системы кэширования и алгоритма readahead, ближайший к нам по скорости Rackspace, показывает по сути скорость чтения с массива локальных дисков. Clodo встает в один ряд с остальными, так как GPFS кэширует данные на чтение и более-менее работает с последовательным чтением.

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

image

И снова Terremark вырывается вперед. Значение Скалакси близки к результатам Rackspace, а именно последовательной записи на массив локальных дисков.

Финальное резюме


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

Terremark'у нужно потюнить настройки и все будет на высоте.

Стратегия Amazon на сегодняшний день заключается в «количестве», а не в «качестве».

Селектел — добротное решение на ethernet и iSCSI.

Rackspace — локальные диски, что скажешь, но виртуальные сервера жестко привязаны к физическому серверу и любое изменение может вызвать длительную оффлайн миграцию.

Clodo — слишком медленно, что бы использовать на реальных приложениях.

Послесловие


Продолжайте следить за нашим блогом и @твиттером, так как скоро:
  • отдельный шейпинг сети;
  • отдельный шейпинг для дисков;
  • VMware на базе Infiniband;
  • файловое хранилище;
  • и многое другое;
  • в том числе то, что вы предложите сами.

Кроме того, как и всегда, неделя бесплатного тестирования при регистрации.

+45
18.9k 35
Comments 127
Top of the day