Skip to content

albertalexandrov/djangomultiprocess

Repository files navigation

Сравнение сбора метрик в обычном и мультипроцессном режиме

Обычный режим

  1. В конфигах Prometheus пропишите target localhost:8000.

  2. Запустите сервис django:

gunicorn -w 4 --log-level DEBUG djangomultiprocess.wsgi

А также файл requester.py, который будет выполнять запросы на django-сервис:

python requester.py

  1. Запустите воркер Prometheus. Убедитесь, что Prometheus собирает метрики с django-сервиса:

  1. Перейдите на вкладку Graph в Prometheus и отобразите метрику:

django_http_responses_total_by_status_total{status="200"}

Тип этой метрики - Counter, которая должна монотонно возрастать.

  1. Убедитесь, что значения метрики скачут плюс-минус:

Это говорит о том, что метрики отдаются из разных процессов.

Мультипроцессный режим

  1. Остановите django-сервис.
  2. В файле settings.py раскомментируйте строку:

multiprocess.MultiProcessCollector(REGISTRY)

  1. Экспортируйте переменную окружения prometheus_multiproc_dir:

export prometheus_multiproc_dir=metrics

  1. Перезапустите django-сервис и requester.py
  2. Вернитесь в Prometheus.
  3. Убедитесь, что значения метрики django_http_responses_total_by_status_total монотонно возрастают.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages