Skip to content

Performance tests for serverless module in buildless mode #1852

@kwiatekus

Description

@kwiatekus

Description

Measure and document results of function reconciliation performance test:

  • apply multiple functions* in one bulk ot once and record serverless_function_state_reach_time_seconds_sum metric from the serverless function controller:
    • scenario 1 : inline functions
      • a) bulk sice of 5, b) 10, c) 25 (separately for nodejs 22 and python 3.12)
    • scenario 2 : git source functions (public)
      • a) bulk sice of 5, b) 10, c) 25 (separately for nodejs 22 and python 3.12)
    • scenario 3 : git source functions (private, ssh auth )
      • a) bulk sice of 5, b) 10, c) 25 (separately for nodejs 22 and python 3.12)
    • scenario 4 : git source functions (private, basic auth )
      • a) bulk sice of 5, b) 10, c) 25 (separately for nodejs 22 and python 3.12)

*) functions should be identical in code and three dependencies. Use XS runtime profile. During implementation take into consideration to test every function under the same workload.

Measure and document results of function web framework performance test:

  • apply hello world function, expose it and send HTTP GET requests in the fixed request rates and record function_duration_miliseconds metric of the function workload:
    • scenario 1 : XS runtime profile
      • a) 1 req/s, b) 10 req/sec, c) 25 req/sec (separately for nodejs 22 and python 3.12)
    • scenario 2/3/4 for S/M/L runtime profiles correspondingly
      • a) 1 req/s, b) 10 req/sec, c) 25 req/sec (separately for nodejs 22 and python 3.12)

Please record the results in the new document in https://github.com/kyma-project/serverless/tree/main/docs/user folder
Include information about environment details, f.e. machine type

Create a readme to easily recreate performance tests in future

  • Provide a method to recreate testing environment (If Terraform will be used, provide a detailed explanation of each of it's sections)

Reasons

Understanding the limits of serverless controller and the serving framework used in serverless.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions