Hi Mickey,
You can query service_pending_requests
metrics from either Prometheus or Grafana assuming you had them setup. Otherwise, this guide should help you to get started.
To increase frontend.namespaceCount
, you need to know where your dynamic config yaml file is located (tctl won’t work). The default location is /etc/temporal/config/dynamicconfig/docker.yaml
but it’s commonly configured via DYNAMIC_CONFIG_FILE_PATH
env var on the server side. If you happen to use our helm-chart, here is the config instruction.
frontend.namespaceCount
comes with the default value of 1200. Below is a snippet of the dynamic config yaml that shows the bumped value:
frontend.namespaceCount:
- value: 4800
constraints: {}
While increasing concurrency threshold on the server side is a common approach, you may also want to consider limiting the concurrency level on the worker side to prevent them from DDoSing any downstream services during traffic spike. This is a good read on worker tuning. You may find the configurations section with parameters, such as maxConcurrentActivityExecutionSize
, setMaxConcurrentActivityTaskPollers
, particularly useful for reducing load on the server.
Hope this helps.
References:
- Developer's guide - Worker performance | Temporal Documentation
- How to add new PollerOption to workflow? - #6 by tihomir
- How to specify dynamic config