Description
Hey, so we're extensively using the framework to create our GCF and Cloud Run services and it is very easy to use which is great.
But, when it comes to fine-tuning your performance things go rogue. E.g. we have a need for ~5 GB RAM in Cloud Run for some services, so effectively are 2 vCPUs already while the hard-coded gunicorn configs force only a single worker
functions-framework-python/src/functions_framework/_http/gunicorn.py
Lines 20 to 27 in 586cc4e
And this is gonna be the same issue with GCF gen2 where you can use bigger instances in terms of memory but they also come with more vCPU for which you are paying but not using.
I suggest we either keep the default and let people configure/adjust Gunicorn params or implement a smart solution for picking appropriate defaults (at least based on the number of vCPU available).