GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python

The framework default Gunicorn configs do not make sense for Gen2 environments

Open
#241 7 comments 1 reaction 0 assignees View on GitHub
enhancement P3
Dominant language
Python
Stars
968
Forks
128
PR merge metrics
No merged PRs in 30d

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 https://github.com/GoogleCloudPlatform/functions-framework-python/blob/586cc4e0833e2e9c82e685c8118be8c3187bd990/src/functions_framework/_http/gunicorn.py#L20-L27

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).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.