I just tested with my Application Settings configured to have 1 Resident instance.
With 1 resident, and 1 idle instance. I hit a page reload. 7 requests were served by the instances according to the Instances pane in the App Engine Console. The requests were handled in the following manner:
Zero went to the Resident instance.
3 new instances were spun up. 2 with warmup requests, 1 with the first user request given to a cold start.
4 then went to the existing idle dynamic instance
1 of the new instances handled 3 requests, the other 2 only handled warmups.
The VERY first request (the basic HTML of the page) went to a cold instance. This happened despite the fact that there was an idle Resident instance available AND an idle Dynamic instance available. The user experience is staring at the browser for 20 seconds before anything happens. That is unacceptable.
Even with 4 dynamic instances, the scheduler is still spinning up new ones with user facing requests. This is bizarre, pathological, diabolical, nonsensical behavior. I am running out of adjectives here.