[Высокая производительность, Серверная оптимизация, Серверное администрирование, Хранение данных] ARM сервера — более производительные и более дешёвые (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
31-Дек-2020 16:31

В этом году 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 225
Requests/sec:   2068.48
Transfer/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 348
Requests/sec:   1626.87
Transfer/sec:    230.37KB
Сервер на ARM обслужил на 27% больше запросов в секунду в среднем на 26% быстрее.
Затем я запустил несколько бенчмарков из набора тестов Phoronix.В тесте pts/compress-7zip-1.7.1 t4g.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.
===========
Источник:
habr.com
===========

===========
Автор оригинала: Arseny Yankovski
===========
Похожие новости: Теги для поиска: #_vysokaja_proizvoditelnost (Высокая производительность), #_servernaja_optimizatsija (Серверная оптимизация), #_servernoe_administrirovanie (Серверное администрирование), #_hranenie_dannyh (Хранение данных), #_arm64, #_arm, #_server (сервер), #_aws, #_x86_64, #_ec2, #_rds, #_graviton2, #_vysokaja_proizvoditelnost (
Высокая производительность
)
, #_servernaja_optimizatsija (
Серверная оптимизация
)
, #_servernoe_administrirovanie (
Серверное администрирование
)
, #_hranenie_dannyh (
Хранение данных
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 25-Ноя 16:04
Часовой пояс: UTC + 5