-
Notifications
You must be signed in to change notification settings - Fork 25
Description
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 ?