# Systemd рулит
Difrex(mira, 14) — All
2017-08-28 10:00:22


Сабж.

Покупал тут для своего проекта виртуалочки на DO. Пытался уложиться в мелкий бюджет - 20$.

В итоге взял 3x512RAM + 1x1GRAM.

В таких условиях нужно ограничивать сервисы. Городить туда Mesos очень не хотелось. В итоге все нагрузочно протестировалось на локальной виртуалке, посчиталось на листочке, сколько какому сервису нужно по-минимуму памяти и проца, написаль шаблоны для юнитов systemd - теперь можно динамически менять ресурсы для каждого из сервисов. Будь то докер или нет. :)

Пример юнита /etc/systemd/system/some_service@.service:

[Unit]
Description=Some API
After=docker.service

[Service]
Type=simple
ExecStart=/usr/bin/docker run --name some_service%i some_service:latest --listen 0.0.0.0:15282 -d
ExecStop=/usr/bin/docker stop -t 0 some_service%i
ExecStopPost=/usr/bin/docker rm -f some_service%i
MemoryLimit=8M
Restart=always

[Install]
WantedBy=multi-user.target

Все, теперь после тестов известно какую нагрузку выдерживает сервис при таких ограничениях. Снимаем метрики, при достижении порога, просто стартуем еще один:

systemctl start some_service@2

А нагрузку отбалансировать можно nginx, тем более в нем уже давно есть стриминг и lua, так что haproxy больше ненужен.

# Re: Systemd рулит
vit01(mira, 1) — Difrex
2017-08-28 11:53:16


Difrex> В итоге взял 3x512RAM + 1x1GRAM.
Difrex> В таких условиях нужно ограничивать сервисы.

Интересно, а как такие виртуалки поведут себя, если им увеличить память через своп на основе ZRAM?

> systemctl start some_service@2

Превосходно! Возьму на вооружение

# Re: Systemd рулит
Difrex(mira, 14) — vit01
2017-08-28 14:46:56


>Интересно, а как такие виртуалки поведут себя, если им увеличить память через своп на основе ZRAM?
А вот хз. Я, честно говоря, никогда этот ZRAM не пробовал.

# Re: Systemd рулит
vit01(mira, 1) — Difrex
2017-08-28 18:21:00


> Я, честно говоря, никогда этот ZRAM не пробовал.

Дельцы кастомных прошивок андроида его чуть ли не постоянно используют. Операционка немало жрёт, а на девайсах с меньше чем 1 гигом ОЗУ использовать свежатину хочется. Так что попробуй на своих виртуалках, вдруг легче жить будет.

Сервис systemd для настройки Swap, насколько мне известно, имеет некую интеграцию с зрам. В крайнем случае можно его тупо вручную включать.

# Re: Systemd рулит
Peter(syscall,1) — vit01
2017-08-28 19:41:02


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

Прочитал. Прикольная штука! тоже не знал про нее...