Does my droplet "sleep" when inactive?

April 9, 2018 238 views
DigitalOcean Ubuntu 16.04

I'm noticing that the first request of the day to a personal app I'm developing on a 1GB droplet is taking an extraordinarily long time to complete. The prior night everything is fine, but it's the initial request the following morning. (I am not shutting down the instance at night.)

Does a droplet somehow "sleep" when inactive? This is for a standard Rails/Postgres stack fronted by Nginx.

The behavior reminds me of Heroku or AWS Lambda, but I wouldn't expect that from a VPS.

Is there something I should be looking for or checking? I can't imagine what would cause that to happen. I'm not having any network issues or similar. The initial request completes, but only after a very long time, then everything is back to normal again.

I could add something to ping regularly, but I wouldn't expect that to be necessary.

Any ideas? Thanks.

Edit: I also noticed this post, which appears to be the same stack and issue (without resolution): https://www.digitalocean.com/community/questions/initial-request-to-droplet-extremely-slow-after-longer-periods-of-inactivity

1 Answer

Another thought is, could this be related to memory swap/churn, after idling overnight? (Other than the usual incoming probes for PHP vulnerabilities, etc.)

Should a 1GB droplet be enough to power a Rails app (simple test app) plus Postgres?

top shows puma taking about 8.5% memory, postgres much less. (Though Puma is using about 10x that amount of virtual memory.)

Have another answer? Share your knowledge.