bcgov / bcgov/entity

BOR and Person Search: Set GUNICORN PROCESSES/THREADS to 60

Open
#33,509 0 comments 0 reactions 0 assignees View on GitHub
BOR Search Names Team Search
Dominant language
JavaScript
Stars
23
Forks
62
Avg merge
24m
Merged PRs (30d)
1

Description

Feel Free to talk to Kial about tech specs if you are not sure, but first go into Google Cloud Console, and find BOR project and api and see where gunicorn settings live.

BOR and Person Search

Concurrency is just a setting on the cloud run services in GCP not a search specific thing. A quick google of their docs should tell you everything you need to know.

All I was saying is that you need to look at the cloud run service settings for each one in person search (bor-updater and bor-api) and adjust concurrency to be greater than whatever the GUNINCORN_PROCESSES * GUNICORN_THREADS is. I think this value is 7 for person search, but you'll need to double check. If those aren't set as environment variables (I am pretty sure they are set explicitly in search) then you'll need to check what the default is in the code - every api we have uses gunicorn so this isn't a new thing, but if you need help with that you can ask me. Alternatively you could just set concurrency to something really high like 60 (this is what business search is set to I think).

These gunicorn variables determine how many concurrent requests it will try to take on before scaling up to another container. If the cloud run concurrency setting is below this threshold then the cloud run service will kill the process without scaling up so it will be stuck at one container and it won't scale up as expected.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in Google Cloud Console by locating the BOR project and the Cloud Run services for Person Search, including bor-updater and bor-api. Check the Gunicorn process and thread settings, including any environment variables or code defaults, then compare their product with each service's concurrency setting. Done means the services use the requested settings and can scale beyond a single container as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
gcp, python
Domain
backend, cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.