Каким способом можно узнать на что расходует память демон WSGI на веб-узле?
Сервер WSGI на веб-узле проксирует запросы веб-сервера в приложение. Наступает момент, когда память, занимаемая демоном WSGI, начинает расти.
Как можно понять на что именно расходует память демон WSGI?
Ответы (1 шт):
Автор решения: JBlack
→ Ссылка
Для поиска причин дополнительного расхода памяти процессом WSGI можно воспользоваться следующими шагами:
- Определить PID-номер worker-процесса WSGI, занимающего «много» памяти, например, с помощью встроенных в linux средств – командой
watch "ps -eo pid, ppid, cmd, %mem --sort=-%mem | head"
или сторонней утилитой htop.
- В логах журнала приложений WSGI-сервера мы увидим записи со статистикой обращений к бэкенду, где зафиксированы параметры запросов к приложениям бекенда, PID-номер процесса, обработавшего запрос, IP-адрес, с которого пришёл запрос, количество затронутых переменных и их объём памяти, а также, другие сведения.
- В соответствии с этими данными мы можем установить наиболее «прожорливые» запросы и, соответственно, определить задействованные с ними контроллеры и другой связанный код, в котором и находится причина перерасхода памяти.