Русский
Русский
English
Статистика
Реклама

Graviton2

ARM сервера более производительные и более дешёвые

31.12.2020 14:09:18 | Автор: admin

В этом году Apple потрясла рынок десктопных процессоров чипом Apple M1 и устройствами на нём. Похожее событие произошло в мире облачных вычислений в прошлом году. AWS выпустили новый тип сервера на собственных ARM процессорах Graviton2. По заявлениям Amazon, соотношение производительности к цене у новых процессоров на 40% выше, чем у аналогов на x86. Ещё одно недавнее обновление - сервера Amazon RDS (облачный сервис, предоставляющий сервера баз данных) на Graviton2. Я запустил несколько бенчмарков и нагрузочный тест реального бэкенд приложения, чтобы проверить настолько ли хороши сервера на ARM процессорах и узнать какие проблемы совместимости могут возникнуть.

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

Я сравнивал сервера типов t4g.small (ARM) и t3.small (x86) на AWS. На момент написания статьи цена за 1 час на ARM сервер составляет $0.0208, а на x86 сервер - $0.0168. Сервер на ARM на 20% дешевле.

Сперва я провёл нагрузочный тест при помощи wrk, запустив на серверах свежую установку recap.dev

Это шаблон docker-compose с 4 процессами. Веб-сервер, принимающий запросы и сохраняющий их в RabbitMQ и отдельный фоновый процесс, сохраняющий запросы группами по 1000 в PostgreSQL.

Я запускал wrk на сервере t3.2xlarge, находящемся в том же регионе, используя следующую команду:

wrk -t24 -c1000 -d300s -s ./post.lua <hostname>

Она непрерывно посылает запросы в течение 5 минут, используя 24 потока и 1000 HTTP соединений.

Результат для сервера t4g.small (ARM):

  24 threads and 1000 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   473.53ms   53.06ms   1.96s    81.33%    Req/Sec   115.83     96.65   494.00     71.32%  620751 requests in 5.00m, 85.84MB read  Socket errors: connect 0, read 0, write 0, timeout 225Requests/sec:   2068.48Transfer/sec:    292.90KB

Для сервера t3.small (x86):

 24 threads and 1000 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   600.28ms   70.23ms   2.00s    72.53%    Req/Sec    92.77     82.25   404.00     70.26%  488218 requests in 5.00m, 67.51MB read  Socket errors: connect 0, read 0, write 0, timeout 348Requests/sec:   1626.87Transfer/sec:    230.37KB

Сервер на ARM обслужил на 27% больше запросов в секунду в среднем на 26% быстрее.

Затем я запустил несколько бенчмарков из набора тестов Phoronix.

В тесте pts/compress-7zip-1.7.1t4g.small (ARM) выдал 6833 MIPS, а сервер t3.small (x86) - 5029 MIPS. ARM сервер был производительнее на 35%.

Сервер на ARM процессоре также завершил бенчмарк pts/c-ray быстрее более чем в 2 раза. 958 секунд ушло у сервера на x86 процессоре против 458 секунд у сервера с ARM процессором.

Я также запустил несколько тестов pts/ramspeed, измеряющих пропускную способность ОЗУ при выполнении различных операций.

Тип бенчмарка

t4g.small (ARM)

t3.small (x86)

Add/Integer

50000 МБ/c

13008 МБ/c

Copy/Integer

58650 МБ/c

11772 МБ/c

Scale/Integer

31753 МБ/c

11989 МБ/c

Triad/Integer

36869 МБ/c

12818 МБ/c

Average/Integer

44280 МБ/c

12314 МБ/c

Add/Floating Point

49775 МБ/c

12750 МБ/c

Copy/Floating Point

58749 МБ/c

11694 МБ/c

Scale/Floating Point

58721 МБ/c

11765 МБ/c

Triad/Floating Point

49667 МБ/c

12809 МБ/c

Average/Floating Point

54716 МБ/c

12260 МБ/c

Вкратце, ОЗУ на сервере t4g.small с процессором Graviton2 была быстрее от 3 до 5 раз.

Если смотреть только на производительность, переход на ARM сервера это одни преимущества. Больше производительности за меньшие деньги.

Совместимость

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

Некоторая часть ПО уже перекомпилирована для ARM процессоров. Например, Docker был доступен в форматах .rpm и .deb, как и большая часть образов (да, образы Docker требуют пересборки для разных архитектур). Однако, docker-compose не был скомпилирован для ARM процессоров, что вылилось в несколько часов сборки различных зависимостей из исходного кода. Скорее всего, ситуация улучшится в будущем, когда сервера на ARM станут более распространены. Сейчас, однако, в некоторых случаях, переход на ARM может принести больше затрат, чем преимуществ.

Зато сервера Amazon RDS на Graviton2 не требуют никакой настройки и позволяют получить все преимущества серверов на ARM процессорах без проблем с совместимостью.

Ввиду преимуществ ARM процессоров мы также собрали Docker образы recap.dev для архитектур arm/v7 и arm64.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru