Pull to refresh
EPAM
Компания для карьерного и профессионального роста

AWS Insight: Как работают Placement Groups

Reading time 2 min
Views 4.7K
Привет! image

У многих есть проекты с «хайлоадом». Немногие используют кластеры на AWS. И те, кто всё-таки их используют, должны использовать Placement группы.

Что это такое


Placement Groups (Группы размещения) — логические объединения кластерных типов AWS инстансов, позволяющие уменьшить сетевые задержки. AWS гарантирует скорость в 10 Gb между серверами, запущенными в одной плейсмент группе. Чисто теоретически, эти инстансы запускаются географически рядом.

При обычном размещении инстансов получается приблизительно следующая картина:


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


Как создать плейсмент группу и запустить в ней инстансы


Есть по 2 способа как создать плейсмент группу, так и запустить инстансы в ней. Заметим, что уже запущенные машинки уже невозможно поместить в плейсмент группу.

1. CLI Tools

Создадим плейсмент группу:
$ ec2-create-placement-group MyFirstCluster -strategy cluster

И запустим в ней 10 кластерных GPU инстансов:
$ ec2-run-instances ami-02f54a6b -n 10 --instance-type cg1.4xlarge --placement-group MyFirstCluster --group MyClusterSecurityGroup

2. AWS Console

Создаем плейсмент группу:


И добавляем в группу 10 новых инстансов, выбирая плейсмент группу при их создании:


Тесты производительности


Статья бы была «ни о чём», если бы в ней не было бы тестов производительности сети между кластерными инстансами вне и в плейсмент групп.

Тест

Тест производится между двумя кластерными инстансами Cluster Compute Quadruple Extra Large Instance (cc1.4xlarge). На одном установлен и стартован дефолтный NGINX. На другом — httpd с тулзой Apache Bench.

1000 раз запускается строка вида:
ab -c 60 -n 4000 http://$ADDR/

В результате, на сервер отправлено 1000*60*4000=240.000.000 запросов. Мы посчитаем среднее время ответа, на этом и будем строить наши догадки о том, как хорошо работают плейсмент группы.

Результаты

Конечно тяжело разобраться правомочен ли тест, но что есть, то есть.

Вот график среднего времени ответа сервера (grep 'Time per request' |grep «across»):


Видно, что график с серверами в плейсмент группе чуточку быстрее, чем вне её.

Выводы


При использовании кластерных инстансов на EC2/VPC нужно и полезно использовать Placement Groups. Это немного уменьшает сетевые задержки, что при долговременном использовании может значительно повлиять на производительность кластера.

AWS рекомендует не использовать более 128 инстансов в одной плейсмент группе, посему лучше их разделять на несколько групп, если у вас много серверов.

Используете ли вы Placement Groups в своих проектах на AWS? Есть ли интересные данные по производительности?
Tags:
Hubs:
+4
Comments 3
Comments Comments 3

Articles

Information

Website
www.epam.com
Registered
Founded
1993
Employees
over 10,000 employees
Location
США
Representative
vesyolkinaolga