restate icon indicating copy to clipboard operation
restate copied to clipboard

Test Kafka ingestion under load

Open tillrohrmann opened this issue 6 months ago • 3 comments

We should know and understand the limits of the current Kafka ingestion. Especially handling bursty ingestion rates in combination with the invoker's concurrency limit should be tested.

tillrohrmann avatar Jun 28 '25 10:06 tillrohrmann

I have some tools I used last time for testing Kafka + Restate:

  • xk6 for sending load to kafka: https://github.com/mostafa/xk6-kafka
  • Grafana + Prometheus to observe
  • Rust SDK as receiver, doing just hello world

I added all the notes + config files here: https://drive.google.com/file/d/1j72zZPG_RJuwmQ02GI5lhQB_UBrhJ5gA/view?usp=sharing

slinkydeveloper avatar Jul 09 '25 07:07 slinkydeveloper

@tillrohrmann what did you mean by "invoker's concurrency limit"?

joebowbeer avatar Oct 07 '25 06:10 joebowbeer

The invoker has a concurrency limit configurable via https://docs.restate.dev/references/server-config#param-concurrent-invocations-limit which controls how many concurrent invocations can be executed by the invoker. There is one invoker per partition. This is primarily to protect the system from overloading the service endpoint. This is not a perfect solution and will hopefully be replaced soon: https://github.com/restatedev/restate/issues/3602

tillrohrmann avatar Oct 07 '25 12:10 tillrohrmann