Авторская информация о системном администрировании.
overload:
enabled: true
package: yandextank.plugins.DataUploader
token_file: "token.txt"
phantom:
address: news.mail.ru:443
header_http: "1.1"
headers:
- "[Host: news.mail.ru]"
- "[Connection: close]"
uris:
- /
- /economics/
load_profile:
load_type: rps
schedule: line(5, 10, 1m)
ssl: true
autostop:
autostop:
- http(5xx,10%,5s)
console:
enabled: true
telegraf:
enabled: false
И запустить тест:
# docker run --rm -v ~/yandex.tank:/var/loadtest \
-it yandex/yandex-tank
В процессе тестирования получите ссылку вида https://overload.yandex.net/589382, по которой можно наблюдать ход тестирования в режиме реального времени, либо изучать его результаты потом. Простую статистику можно наблюдать в консоли по ходу теста.
Yandex Tank продвинутый инструмент, которые поддерживает разнообразные схемы запросов, различные настройки нагрузки и т.д. В качестве генераторов нагрузки может использовать Phantom, Pandora, BFG (написаны самим Яндексом для него), либо известный Jmeter. В качестве внешних сервисов для загрузки артефактов, помимо Yandex.Overload можно использовать InfluxDB.
Все модули, настройки, возможности и примеры использования описаны в документации. Я когда-то давно писал статью с примером запуска Yandex.Tank. Она полностью актуальна, можно пользоваться.
Аналоги Yandex.Tank:
◽️ artillery.io
◽️ k6
◽️ Locust
◽️ Taurus
⇨ Исходники / Документация / Визуализация
#нагрузочное_тестирование# patronictl -c /etc/patroni/patroni.yml list
Можете отключать ноды и смотреть, как кластер будет на это реагировать.
#postgresql# apt install python3-pip
# pip3 install traffictoll
Для управления настройками используется конфиг в yaml формате. Простейший вид вот такой:
download: 1mbps
upload: 1mbps
download-minimum: 100kbps
upload-minimum: 100kbps
Ограничиваем максимальную скорость и гарантируем минимальную. Запускаем TrafficToll:
# tt eth0 eth0.yaml
Теперь попробуйте что-то загрузить на сервер. Скорость интерфейса будет ограничена одним мегабайтом в секунду. В конфигурации используется нижний регистр, что, по-моему, неверно в данном случае. Мегабайты пишутся с заглавной буквы и без p, то есть Mps. Тем не менее, я это проверил на практике.
Приложение умеет ограничивать не только скорость интерфейса но и отдельных процессов. Примеры есть в репозитории. Очень простая и удобная программа. Для каких-то тестов, а может и постоянных задач, подойдёт.
⇨ Исходники
#network