Уведомления
Очистить всё
Деплой и инфраструктура
2
Сообщения
2
Пользователи
0
Реакции
128
Просмотры
20 октября 2026 10:54
Я SRE, недавно в команде с Rails-монолитом, до этого работал с сервисами на Go. Метрики собираем в Prometheus, в Grafana уже есть доски по хостам. Что из Puma и Sidekiq стоит вывести в первую очередь, чтобы не утонуть в сотне графиков?
1 ответ
20 октября 2026 16:24
Из Puma: сколько потоков занято из доступных и длина очереди запросов. Puma.stats отдаёт это в JSON, есть готовые экспортёры, но можно и самому:
stats = JSON.parse(Puma.stats)
stats["worker_status"].each do |w|
last = w["last_status"]
busy = last["max_threads"] - last["pool_capacity"]
puts "worker=#{w["index"]} busy=#{busy} backlog=#{last["backlog"]}"
end
Если backlog растёт, а CPU свободен, потоки ждут базу или внешние вызовы. Из Sidekiq: latency каждой очереди, размер retry set и dead set. Latency лучше любого счётчика джоб показывает, что что-то пошло не так. И по времени ответа держите p95 и p99, а не среднее: два процента запросов по пять секунд среднее почти не сдвинут, а люди уже жалуются.