После запуска в Скалакси новой системы хранения, мы выполнили миграцию на нее всех пользовательских данных со старой системы и решили сравнить скорость новой системы с существующими решениями на рынке. Под катом тест производительности систем хранения следующих облачных провайдеров: 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, признанного «убийцу» дисков, которого побаиваются и сами производители дисков. Запускали мы его со следующими параметрами:
Далее результаты тестирования собирались, вносились и усреднялись в гугл-таблице. Таким образом каждый пункт теста выполнялся 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 на запись (за счет кэширования записи).
Скалакси, Terremark и Селектел кэшируют данные, поэтому чтение у них в целом выше остальных. При этом Селектел использует 1 Гбит/с Ethernet, а Terremark и Скалакси, 8 Гбит/с FibreChannel и 40 Гбит/с Infiniband, соответственно. Clodo в теории тоже использует кэширование, но IBM GPFS на произвольном доступе аннигилирует все преимущество.
При этом, очевидно, у Terremark, EMC или VMware какие-то проблемы с произвольным чтением малыми блоками.
Кэшированная запись опять выводит в лидеры Скалакси, Terremark и Селектел. Amazon и Rackspace показывают максимально возможную скорость произвольной записи на массив SAS дисков. IBM GPFS у Clodo не предназначена для произвольных операций и показывает худшие результаты.
Terremark в этом тесте в целом превзошел нашу систему хранения, но у нас сложилось впечатление, что узлы их системы хранения не полностью заняты и нагружены меньше.
В этом тесте Скалакси показывает лучшие результаты с устойчивыми 300 МБ/с за счет эффективности своей системы кэширования и алгоритма readahead, ближайший к нам по скорости Rackspace, показывает по сути скорость чтения с массива локальных дисков. Clodo встает в один ряд с остальными, так как GPFS кэширует данные на чтение и более-менее работает с последовательным чтением.
И снова Terremark вырывается вперед. Значение Скалакси близки к результатам Rackspace, а именно последовательной записи на массив локальных дисков.
Учитывая, что нагрузка в интернет-проектах формируется в основном двумя вещами — базой данных и раздачей мелких картинок и прочих файликов, наше решение можно назвать идеальным и максимально производительным для подобных проектов.
Terremark'у нужно потюнить настройки и все будет на высоте.
Стратегия Amazon на сегодняшний день заключается в «количестве», а не в «качестве».
Селектел — добротное решение на ethernet и iSCSI.
Rackspace — локальные диски, что скажешь, но виртуальные сервера жестко привязаны к физическому серверу и любое изменение может вызвать длительную оффлайн миграцию.
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 на запись (за счет кэширования записи).
Произвольное чтение
Скалакси, Terremark и Селектел кэшируют данные, поэтому чтение у них в целом выше остальных. При этом Селектел использует 1 Гбит/с Ethernet, а Terremark и Скалакси, 8 Гбит/с FibreChannel и 40 Гбит/с Infiniband, соответственно. Clodo в теории тоже использует кэширование, но IBM GPFS на произвольном доступе аннигилирует все преимущество.
При этом, очевидно, у Terremark, EMC или VMware какие-то проблемы с произвольным чтением малыми блоками.
Произвольная запись
Кэшированная запись опять выводит в лидеры Скалакси, Terremark и Селектел. Amazon и Rackspace показывают максимально возможную скорость произвольной записи на массив SAS дисков. IBM GPFS у Clodo не предназначена для произвольных операций и показывает худшие результаты.
Terremark в этом тесте в целом превзошел нашу систему хранения, но у нас сложилось впечатление, что узлы их системы хранения не полностью заняты и нагружены меньше.
Последовательное чтение
В этом тесте Скалакси показывает лучшие результаты с устойчивыми 300 МБ/с за счет эффективности своей системы кэширования и алгоритма readahead, ближайший к нам по скорости Rackspace, показывает по сути скорость чтения с массива локальных дисков. Clodo встает в один ряд с остальными, так как GPFS кэширует данные на чтение и более-менее работает с последовательным чтением.
Последовательная запись
И снова Terremark вырывается вперед. Значение Скалакси близки к результатам Rackspace, а именно последовательной записи на массив локальных дисков.
Финальное резюме
Учитывая, что нагрузка в интернет-проектах формируется в основном двумя вещами — базой данных и раздачей мелких картинок и прочих файликов, наше решение можно назвать идеальным и максимально производительным для подобных проектов.
Terremark'у нужно потюнить настройки и все будет на высоте.
Стратегия Amazon на сегодняшний день заключается в «количестве», а не в «качестве».
Селектел — добротное решение на ethernet и iSCSI.
Rackspace — локальные диски, что скажешь, но виртуальные сервера жестко привязаны к физическому серверу и любое изменение может вызвать длительную оффлайн миграцию.
Clodo — слишком медленно, что бы использовать на реальных приложениях.
Послесловие
Продолжайте следить за нашим блогом и @твиттером, так как скоро:
- отдельный шейпинг сети;
- отдельный шейпинг для дисков;
- VMware на базе Infiniband;
- файловое хранилище;
- и многое другое;
- в том числе то, что вы предложите сами.
Кроме того, как и всегда, неделя бесплатного тестирования при регистрации.