Есть ли способ контролировать состояние сервера puma? в частности, сколько занятых рабочих и сколько потоков создано каждым рабочим. лучше было бы что-то похожее на apache's mod_statusКак контролировать сервер puma?
ответ
Может
$ touch /path/to/your/stats.txt
$ puma -S /path/to/your/stats.txt
в другом терминале
$ watch cat /path/to/your/stats.txt
Результаты в:
---
pid: 14364
config: !ruby/object:Puma::Configuration
cli_options:
conf:
options:
:min_threads: 0
:max_threads: 16
:quiet: false
:debug: false
:binds:
- tcp://0.0.0.0:9292
:workers: 0
:daemon: false
:mode: :http
:before_fork: []
:worker_timeout: 60
:worker_boot_timeout: 60
:worker_shutdown_timeout: 30
:state: /path/to/your/stats.txt
:config_file:
:control_auth_token: 21c9241912a8e0e7ddaabac667ff5682
:tag: solar
:environment: development
Но это выглядит статичным :(
Начиная свое приложение с помощью пумы, как это:
$ puma -S /path/to/your/stats.txt -C config/puma.rb --control tcp://0.0.0.0:9191 --control-token foo config.ru
позволяет позже запрашивать на вашем веб-браузера:
$ http://localhost:9191/stats?token=foo
or
$ pumactl -C tcp://0.0.0.0:9191 -T foo stats
в результате чего :
{ "workers": 3, "phase": 0, "booted_workers": 3 }
Что выглядит более динамичным ...
Edit_0:
Как рабочие процессы, можно также рычаги инструменты, предоставляемые операционной системой для сбора информации, например, на Linux:
Запуск экземпляра пума:
puma -S p/stats.txt -C config/puma.rb --control tcp://0.0.0.0:9191 --control-token foo config.ru
[1908] Puma starting in cluster mode...
[1908] * Version 2.15.3 (ruby 2.1.5-p273), codename: Autumn Arbor Airbrush
[1908] * Min threads: 8, max threads: 32
[1908] * Environment: development
[1908] * Process workers: 3
[1908] * Preloading application
[1908] * Listening on tcp://0.0.0.0:9292
[1908] Use Ctrl-C to stop
[1908] * Starting control server on tcp://0.0.0.0:9191
[1908] - Worker 0 (pid: 1921) booted, phase: 0
[1908] - Worker 1 (pid: 1929) booted, phase: 0
[1908] - Worker 2 (pid: 1937) booted, phase: 0
Использование сверху для исследования работников:
$ top -p1921 -p1929 -p1937 -n 1
дает нам
Tasks: 3 total, 0 running, 3 sleeping, 0 stopped, 0 zombie
%Cpu(s): 8.4 us, 1.5 sy, 0.0 ni, 88.9 id, 1.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 4058820 total, 1626576 used, 2432244 free, 56456 buffers
KiB Swap: 9609212 total, 0 used, 9609212 free. 424948 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1921 benjamin 20 0 1171600 85484 3116 S 0.0 2.1 0:00.38 puma
1929 benjamin 20 0 1171600 85264 2884 S 0.0 2.1 0:00.37 puma
1937 benjamin 20 0 1171600 85264 2884 S 0.0 2.1 0:00.42 puma
, из которых можно разобрать соответствующую информацию, как Загрузка процессора или ОЗУ.
Вы можете использовать pumactl
инструмент:
$ pumactl --help
thx Yuri, но это не позволяет мне отслеживать количество рабочих/потоков, что и требуется. я что-то упускаю? – Tal
- 1. Как контролировать сервер (mapserver)
- 2. Сервер Puma умирает без причины
- 3. Сервер Puma зависает после отправки сообщения «puma: restart» capistrano
- 4. Как мне поддерживать сервер приложений Puma?
- 5. `рельсов сервера puma` против` puma`
- 6. Как контролировать веб-сервер с помощью daemontools?
- 7. Как контролировать сервер с помощью Appdynamics?
- 8. Как контролировать мой сервер mongodb в рубине?
- 9. JNDI: Как контролировать сервер каталогов для обновлений
- 10. Как контролировать сервер Apache с zabbix
- 11. Rails + xmpp4r + puma. Whem puma запускается как демон XMPP отключается
- 12. Как очистить журналы Puma?
- 13. Тонкие сапоги вместо puma
- 14. Capistrano & Puma, конфигурация
- 15. Puma 2.10.1 не перезагружается
- 16. Команда запускает сервер rails при использовании Puma + Nginx
- 17. Изменить локальный веб-сервер в WEBrick в Rails от Puma
- 18. Почему не может контролировать с идентификатором «Сервер»
- 19. PUMA, пытаясь остановить сервер, недействительный сигнал, номер или имя
- 20. веб-сервер Puma (ROR) и тайм-аут соединения
- 21. Настройка puma на Rails Приложение
- 22. Как включить gzip в puma сервере
- 23. Как перезапустить puma после развертывания?
- 24. Как использовать конфигурационный файл puma?
- 25. Как настроить Sinatra classic для использования Puma
- 26. Как распределить запросы по Unicorn и Puma?
- 27. как я могу контролировать FTP-сервер без протокола SNMP
- 28. Как контролировать сервер Apache работает или нет на aws?
- 29. Puma App Instances на Heroku
- 30. Локальный SSL с Ruby/Puma
thx @benjamin, но где этот параметр '-S' задокументирован? – Tal
@Tal, в версии puma 2.15.3 вызов «puma --help» показывает короткую документацию. Я обновлю свой ответ, чтобы показать вам контент ... – benjamin
thx @benjamin, но, к сожалению, похоже, что это не дает ключевую информацию, которую я ищу, что является состоянием рабочих (занято/нет) – Tal