Skip to content

Prototype a load test for function serving layer #2082

@kwiatekus

Description

@kwiatekus

Description

As maintainers of serverless we want to measure and document the baseline performance of the function's web server.

Design test that would introduce load on a "hello world" function (no business logic) and measure the response time from the function.

We already have a document about serverless limits, it seems like a good place to put the results
https://github.com/kyma-project/serverless/blob/main/docs/user/00-50-limitations.md#runtime-phase-limitations

Reasons

Before designing the critical parts of their applications, developers ( users of serverless ) should know what is the platform overhead in order to know what is the latency budget remaining for their business logic.
They need data to make informed decisions when selecting runtime (nodejs, python) and runtime profile (XS, S, L, M, XL )

Acceptance Criteria

  • the test setup should be known ans documented (number of nodes, machine type etc) and fixed between different text executions
  • the test should be easy to repeat
  • the result of single execution should present the response time of the target function as a dependency of the applied load (increasing from single requests/sec to 100 req/sec )
  • the results for 10 tests ( 2 x 5 runtimes (nodejs and python) and 5 function runtime profiles) should be documented
  • the results should present the limit of req/sec for which the responses arrive late or with error response code
  • the test should eliminate networking overhead of api rule and port-forwarding (i.e test running in a test pod communicating with test subject via k8s service)

Attachments
https://locust.io/ ?
jmeter ?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions