Я наблюдаю увеличение объема памяти с 137 МБ до 323 МБ, повторяя тот же запрос с Rails. Я хотел бы понять механику этого.
Что касается моей конфигурации nginx-passenger, я установил минимум 2 экземпляра в моем файле vhost и максимальное количество экземпляров 5
Вот несколько воспроизводимых шагов, которые я делаю
- Я перезапускаю свое приложение с помощью passenger-config restart-app
- Во время перезапуска приложения на сервере выполняется несколько проверок работоспособности, поэтому Passenger запустит 2-3 экземпляра с указанным объемом памяти. Не то чтобы на данный момент выполнялись только запросы API (без рендеринга html-представления, точнее, только json или json: api). На данный момент я вижу с
passenger-status
:
.
/websites/example/current/public (production):
App root: /websites/example/current
Requests in queue: 0
* PID: 6801 Sessions: 0 Processed: 3 Uptime: 17s
CPU: 1% Memory : 121M Last used: 9s ago
* PID: 6808 Sessions: 0 Processed: 1 Uptime: 16s
CPU: 1% Memory : 100M Last used: 10s ago
* PID: 6836 Sessions: 0 Processed: 0 Uptime: 9s
CPU: 0% Memory : 64M Last used: 9s ago
Теперь давайте предположим, что я запустил curl на localhost вручную, который отобразит некоторую страницу из шаблона .html.erb curl http://localhost:3000/
Requests in queue: 0
* PID: 6801 Sessions: 0 Processed: 20 Uptime: 1m 40s
CPU: 2% Memory : 232M Last used: 2s ago
* PID: 6808 Sessions: 0 Processed: 1 Uptime: 1m 39s
CPU: 0% Memory : 100M Last used: 1m 33s ago
* PID: 6836 Sessions: 0 Processed: 0 Uptime: 1m 32s
CPU: 0% Memory : 66M Last used: 1m 32s ago
Память подскочила до 230 МБ. Я понимаю, что это может быть связано с конвейеризацией ресурсов и, возможно, кэшированием некоторых фрагментов представления. Я предполагаю, что это несколько ожидаемо.
Теперь, что мне трудно понять: допустим, я продолжаю рассылать спам по своему curl http://localhost:3000/
(третье приложение исчезло из-за нехватки запросов на parralel, нормально)
Requests in queue: 0
* PID: 6801 Sessions: 0 Processed: 168 Uptime: 3m 40s
CPU: 2% Memory : 332M Last used: 2s ago
* PID: 6808 Sessions: 0 Processed: 3 Uptime: 3m 39s
CPU: 0% Memory : 101M Last used: 1m 33s ago
Таким образом, произошло увеличение с 230 МБ до 330 МБ (и с этого момента оно перестает увеличиваться даже после того, как спам больше запросов на тот же URL). Кто-нибудь может иметь некоторое представление о том, что за сделка связана с этим увеличением?
РЕДАКТИРОВАТЬ:
Я еще раз попробовал перезапустить приложение конфигурации пассажиров и спам-запросы, теперь отпечатки памяти приложения перестают расти на 242 МБ ... не совсем уверен, что произойдет. Я попытался очистить папку shared / tmp / cache (я использую локальную FS в качестве хранилища кеша), но, похоже, оттуда она не поступила.