[Перевод] Производительность облачных серверов: сравнительный анализ 5 крупнейших облачных провайдеров IaaS
Перевод оригинальной статьи Cloud Server Performance: A Comparative Analysis of 5 Large Cloud IaaS Providers Автор перевода – Александр Белоцерковский, Windows Azure MVP
С учетом недостатка стандартизации в индустрии IaaS , провайдеры свободно оперируют уникальной терминологией для описывания своих принципов размещения виртуальных ресурсов. Как сравнить ECUс HPCCUи vCPU ? В этом отчете производится сравнительный анализ производительности и стоимости услуг 5 крупнейших провайдеров IaaSза 5-дневный период, и приводится процесс для четкого определения ценности стоимости-производительности облачного провайдера с учетом проблем со стандартизацией в индустрии.
Запутанный рынок
По мере быстрого насыщения рынка провайдерами IaaS повышается также сложность вынесения решения о том, услуги какого из них использовать. Cloud Spectator находится в постоянно изучении производительности IaaS более чем 20 наиболее известных во всем мире облачных провайдеров для того, чтобы помогать бизнесу в процессе вынесения решения таким образом, чтобы максимизировать производительность и минимизировать стоимость.
В этом обзоре анализируется производительность пяти крупнейших облачных провайдеров: Amazon EC2, Rackspace OpenStack Cloud, HP Cloud, SoftLayer CloudLayer Compute, Windows Azure. Результаты пятидневных экспериментов наглядно показывают различия провайдеров в производительности, например, Windows Azure, победитель обзора, имеет в три раза большую производителньость, нежели Amazon EC2. Процесс выбора одного или нескольких облачных провайдеров из множества доступных непрост. Провайдеры разворачивают и выделяют ресурсы по разным принципам, что приводит к большей запутанности и недостаточному количеству информации, по которой пользователи могли бы сравнивать их. С 2011 года в индустрии IaaS наблюдается война цен среди крупнейших игроков, что приводит к тому, что провайдеры типа Amazon EC2, HP Cloud, Windows Azure пытаются привлечь клиентов низкой ценой. Этот обзор же, как думается, предоставляет доказательство того, что подобные уморассуждения не приводят к лучшим результатам, и вместе с другой предоставляемой функциональностью должна рассматриваться производительность.
Единичные бенчмарки не должны рассматриваться в отрыве для вынесения решений о покупках в IT; мы понимаем это опасение, и рекомендуем использовать этот обзор только в качестве отправной точки для дальнейших исследований. Для того, чтобы адресовать обзор максимально широкой аудитории, мы выбрали 5 из наиболее узнаваемых провайдеров IaaS, и использовали для измерения производительности тест Unixbench, open-source приложение-бенчмарк, широко используемое и знакомое в мире IT.
Методология
Тесты были запущены с 25 мая 2013 по конец 29 мая 2013. Тесты запускались три раза в день, записывались самые высокие и самые низкие значения, отображенные в хронологическом порядке.
Изучив множество предложений больших и маленьких провайдеров, мы пришли к выводу, что одним из популярнейших конфигураций облачных серверов стала конфигурация в 4 гигабайта – таким образом решив для целей релевантности широкому кругу читатаелей использовать наиболее близкие к конфигурации в 4Гб предложения провайдеров.
Мы использовали самую свежую версию Unixbench (5.1.3, Январь 2011), которая способна использовать системы с несколькими CPU. Целью тестов было оценить производительность Unix-like систем с вынесением оценок в конце теста, следовательно, мы использовали тесты для измерения производительности Linux, запущенного на виртуальной инфраструктуре. Unixbench выдает результат на основе запускаемых серий отдельных тестов, ориентированных на проверку того, сколько сервер может выдержать нагрузки, и как эффективно он это делает.
Максимальный рейтинг – 10 звезд. Unixbench, используемый во всем мире для сравнения машин с Linux, рассматривается как стандарт для измерения производительности. Подробнее: https://code.google.com/p/byte-unixbench/.
Мы собирали два важных массива информации, которые нелегко получить непосредственно от провайдеров:
- Производительность: насколько высока оценка провайдера у Unixbench, и насколько консистентны остальные оценки. Учитывая периодический запуск тестов в пятидневный период, у нас получилось собрать различную информацию о производительности (частой и распространенной жалобы на публичные облака, где ресурсы разделяются между пользователями и не всегда гарантируется некий уровень производительности).
- Стоимость-производительность: после замера производительности и получения оценки, мы подсчитали, какую производительность может ожидать пользователь на каждую потраченную сумму денег. В результате нормализации по 100 шкале с помощью системы CloudSpecs Score мы можем увидеть, какую ценность дает каждый провайдер по отношению к провайдеру, получившему наивысшую оценку. Таким образом, мы не только видим, какой из провайдеров дает больше всего за определенную сумму, но и насколько больше ценности он дает по отношению к конкурентам.
Результаты: производительность
Ниже приведены результаты тестов Unixbench за период в 5 дней. Стоит отметить значимое различие, которое разделяет группы провайдеров – от 300-600 очков (Amazon EC2 и Rackspace) и от 1100 до 1500 (SoftLayer, HP Cloud, Windows Azure).
В среднем же, победителем по производительности за тестовый период является Windows Azure, провайдером, набравшим же самый низкий результат – Amazon EC2. Разница в производительности – в три раза.
С помощью периодически запускаемых тестов мы также смогли получить некий снапшот колебаний производительности. Коэффициент колебаний (CV) – это значение, выраженное в процентах, которое сообщает о том, насколько мощными были колебании в среднем. Чем больше, тем значительнее нестабильность общего уровня производительности, и наоборот.
Наибольшие значения этого коэффициента получили Rackspace и Amazon EC2. 26 мая оба испытали серьезные колебания – Rackspace ушел вниз, Amazon – вверх. Таким образом, за тестовый период получились следующие результаты: Amazon – 4%, Rackspace – 6%, HP Cloud – 1%, SoftLayer и Windows Azure – 0%. Стоит отметить, что все цифры округлялись.
График – время по оси X, UnixBench – оси Y.
Результаты: стоимость-производительность
Для понимания того, что такое performance value, мы взяли стоимость оплаты за час каждого провайдера. Отметим, что много провайдеров предоставляют скидки, которые могут увеличить вычисляемое значение ценности. Качественные факторы, например, сервисы, дополнительная функциональность и прочее, в расчеты не входили, то есть это чистые расчеты стоимость-к-производителньости.
Мы начали с усреднения оценок каждого провайдера за тестовый период:
Деля количество очков на стоимость, мы получаем относительную оценку стоимости-к-производительности для каждого провайдера. Ниже – список подстроенных очков Unixbench к стоимости, чем больше количество очков, тем лучше:
В этой ситуации Amazon EC2, Rackspace, SoftLayer меняются местами - SoftLayer, как самый дорогой игрок, сдвигается к Amazon EC2 и Rackspace. Rackspace, учитывая его стоимость, уходит ниже по отношению к Amazon EC2. Windows Azure, в этой ситуации провайдер, предоставляющий наибольшую ценность, имеет коэффициент ценности, больший в 5 раз, нежели провайдер, имеющий наименьшую ценность – Rackspace.
CloudSpecs Score
CloudSpecs Score – дальнейшяя нормализация значений стоимости-производительности, использумая для упрощения понимания, сколько ценности дает лучший провайдер по отношению к остальным. Провайдер, предоставляющий наибольшую ценность, получает 100 очков, остальные располагаются относительно него.
За 5 дней лучшие показатели по производительности и стоимости-производительности выдал Windows Azure. Для стоимости-производительности в среднем это было 12023 очка. HP Cloud – 9559, SoftLayer – 4378, Amazon – 3182, Rackspace – 2313. Если брать количество очков для Windows Azure равным 100, то получаем, что HP Cloud получает 80, SoftLayer – 36, Amazon – 26, Rackspace – 19.
Так как это соотношения предоставляемой ценности, то мы можем читать это так, например: Windows Azure:Rackspace 100:19, или 5:1. Аналогично, Windows Azure:Amazon EC2 4:1. HP cloud:SoftLayer 2:.
Наиболее отличающееся соотношение имеют Rackspace Cloud и Windows Azure, 5.3:1. Высокая стоимость Rackspace вкупе с низкими результатами производительности вылилась в то, что провайдер находится на последнем месте по результатам расчета значений стоимости-производительности в тестах Unixbench. Windows Azure, со своей высокой производительностью и ценой, конкурирующей с Amazon EC2, была признана первой по показателям.
HP Cloud, второй провайдер в рейтинге после Windows Azure, получил показатели в 1.25:1 по отношению к Azure. Немного дороже, нежели Azure или Amazon EC2, провайдер добился, тем не менее, высоких результатов по производительности в Unixbench.
Дальнейшие изыскания
Тогда как тесты Unixbench дали нам представление о соотношениях в производительности на рынке IaaS, эти результаты должны рассматриваться только как обзор, дальше же должны быть проведены дополнительные исследования, например, а) боттлнэков в производительности, б) метрик производительности, релевантных конкретным бизнес-задачам и стратегиям клиента.
Если, например, вы имеете базу данных, то проверьте, идет ли она с какими-либо стандартными бенчмарками для изучения производительности. Многие open-source базы, например MySQL, PostGRES и MongoDB, идут с подобными, запускаемыми достаточно просто, тестами.
Когда дело доходит до тестирования аппаратной инфраструктуры, то можно воспользоваться множеством open-source тестов, доступных для систем под управлением Linux, например, Phoronix Benchmark Suite (www.phoronix-test-suite.com), представляющей собой набор тестов, измеряющих производительность CPU, RAM и диска и широко используемых в интернете. Стандартный бенчмарк Mongoperf также может послужить сильным подспорьем для проверки IO, после чего можно спрогнозировать производительность MongoDB. Но нужно запускать тесты периодически, так как публичные облака иногда испытывают высокую нагрузку, влияющую на общую производительность, или ваши ресурсы расположены рядом с «беспокойными соседями».
Внутренняя сеть, важный компонент масштабируемых веб-приложений и баз данных в облаке, также является тем боттлнэком, который нельзя игнорировать. Проверив пропускную способность и задержки, мы можем получить представление об эффективности коммуникационной инфраструктуры и помочь пользователям понять, будут ли происходить провалы в производительности приложения из-за медленного подключения. Надежным тестом пропускной способности является Iperf (iperf.sourceforge.net). Мы рекомендуем запускать Iperf в обоих режимах – однопоточном и многопоточном – для измерения провалов в производительности (или улучшений), симулируя масштабирование ресурсов приложения.
Что касается задержек, то простым и эффективным механизмом тут будет команда ping. Как и другие тесты, ping нужно запускать периодически, чтобы иметь представление об изменениях производительности в течении некоторого промежутка времени.
Для восстановления после критическхи ошибок и резервирования уместно рассматривать широкополосную сеть (WAN). Аптайм центра обработки данных, измеряемый с помощью ping, задержки и пропускная способность могут рассказать много о качестве WAN в качестве средства для восстановления после сбоев и репликации.
Резюме
Несмотря на то, что Amazon EC2 имеет минимальное преимущество над остальными провайдерами в аспекте цены с $0,12 за час, минимальная цена не означает лучшую ценность, предоставляемую клиенту, который ищет максимальной производительности. Однако, несмотря на то, что показатели производительности Amazon EC2 были минимальными, в анализе стоимости-производительности провайдер занял не последнее место – по факту, будучи производительнее Amazon в 1.5 раза по тестам Unixbench, Rackspace со своей высокой ценой занял место еще ниже.
Unixbench – это всего лишь один тест, который использовался в качестве примера в этом обзоре для проведения анализа колебаний производительности провайдеров. Для дальнейших, более конкретизированных экспериментов для вынесения решений о покупке в IT, могут быть использованы различные тесты, измеряющие производительность CPU, IO, RAM, внутренней и внешней сетей, приложения и так далее.
Мы опубликовали этот документ, так как видим в индустрии беспокойство, касающееся производительности публичных облаков. Мы автоматизировали более 20 тестов, измеряющих производительность CPU, RAM, IO и сети 3 раза в день 365 дней в году для 20 крупнейших провайдеров IaaS,и наблюдаем за колебаниями производительностью. Мы выбрали эти тесты из-за их надежности, полезности и практичности.
Когда производительность сервера становиться проблемой, которую невозможно решить собственными силами, теряются не только деньги и клиенты, но и время и энергия на то, чтобы найти причину проблем. Мы работаем над стандартом, регламентирующим производительность в облаке, чтобы разрешить эти беспокойства.