Updated on 2026-01-13 GMT+08:00

Configuring Concurrency

This feature is supported only by FunctionGraph v2.

Overview

FunctionGraph allows you to configure the maximum number of instances that can be run for a function at a time. The number of instances is limited to prevent resource exhaustion, ensure that each instance has sufficient resources to run, and improve processing efficiency.

Configuring Function Concurrency

  1. Log in to the FunctionGraph console. In the navigation pane, choose Functions > Function List.
  2. Click the function to be configured to go to the function details page.
  3. Choose Configuration > Concurrency.

    Set parameters by referring to Table 1 and click Save.

    Figure 1 Concurrency configuration
    Table 1 Description

    Parameter

    Description

    Max. Requests per Instance

    Explanation:

    Number of concurrent requests supported by a single instance.

    Restrictions:

    • This parameter is only available for HTTP functions created from scratch, HTTP functions based on templates, and container image-based functions.
    • If this parameter is set to 1, this parameter is not displayed and cannot be modified. If this parameter is set to a value greater than 1, this parameter is still displayed.

    Value range:

    1–1000

    Default value:

    1

    Max. Instances per Function

    Explanation:

    Maximum number of on-demand instances that can be enabled for a function.

    Restrictions:

    • Requests that exceed the processing capability of instances will be discarded.
    • Errors caused by excessive requests will not be displayed in function logs. You can obtain error details by referring to Configuring Asynchronous Notification Policy.

    Value range:

    -1 or an integer ranging from 1 to 1000. The value –1 indicates that the number of instances is not limited.

    Default value:

    400

Configuration Constraints

  • For Python functions, threads on an instance are bound to one core due to the Python Global Interpreter Lock (GIL) lock. As a result, concurrent requests can only be processed using the single core, not multiple cores. The function processing performance cannot be improved even if larger resource specifications are configured.
  • For Node.js functions, the single-process single-thread processing of the V8 engine results in processing of concurrent requests only using a single core, not multiple cores. The function processing performance cannot be improved even if larger resource specifications are configured.