Graphite — Stress test

 

Все действия проводились на "AMI Linux 2", если выполнять на другом дистрибутиве, вам будет нужно установить Java и Git, остальные шаги будут такими же.

 

Устанавливаем Java OpenJDK:

sudo amazon-linux-extras install java-openjdk11

 

Так же устанавливаем Git:

yum install -y git

 

Клонируем репозиторий и переходим в него:

git clone https://github.com/feangulo/graphite-stresser
cd graphite-stresser

 

Перед сборкой нужно поправить версию Gradle на актуальную

vim gradle/wrapper/gradle-wrapper.properties

 

#distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-all.zip

 

Собираем:

./gradlew uberjar

 

Для удобства скопируем собранный jar файл с другим именем:

cp build/libs/graphite-stresser-0.1.jar ./graphite-stresser.jar

 

Запускаем тест:

java -jar graphite-stresser.jar 172.31.22.196 2003 1 128 10 false

 

Где:

  • 172.31.22.196 — IP адрес Graphite инстанса
  • 2003 — порт (UDP, с TCP этот тестер не захотел работать)
  • 1 — количество хостов (симуляция нескольких хостов, публикующих метрики)
  • 128 — numTimers (сколько метрик будет генерироваться. [1, 2, 3, 4, 5, 10, 20, 64, 128, 256, 384, 650, 975, 1956, 3912, 4887, 7824, 9780, 13699])
  • 10 — как часто будут генерироваться (секунды)
  • false — выключить дебаг (можно смело отключать, при возникновении ошибок они будут выводится в консоль. Параметр для включения — true)

 

Для мониторинга количества метрик можно в Grafana импортировать этот дашборд.

 

Так же нужно обратить внимание на I/O и нагрузку CPU. Так как Whisper требователен к I/O, а carbon-cache не все запросы может распараллелить, и за частую все выполняет в одном потоке. Если у вас бутылочным горлышком является CPU, то стоит присмотреться к реализации Carbon на Gogo-carbon

Для Go-Carbon данный дашборд не будет показывать метрики, так как они отличаются от Python версии. Для Go-Carbon вы можете воспользоваться следующим дабордом

0 0 vote
Рейтинг статьи

Метки: Метки

Подписаться
Уведомление о
guest
0 комментариев
Inline Feedbacks
View all comments