We have an App Engine application that processes an average of 0.5 requests per second, and it would seem that all these requests can be processed by the same instance that launches the Go application as the main version.
However, sometimes App Engine starts a second instance (and sometimes a third), which seems to do nothing by processing one or two requests. Here is an example.

Turning off this instance manually does not seem to do any harm, so my question is: why doesn't App Engine kill the instance after it has not received any requests for a while? (In the above example, there were four requests in the last hour, often the request / age ratio became even lower).
Update:
A similar situation occurs when an instance is launched in a different version. App Engine only seems to kill the instance after several hours without receiving any requests.
In the "Application Settings" β "Performance" section,
- Idle Instances is set to Automatic - 20
- The expected delay is set to 150 ms - 250 ms
source share