Our team currently evaluates whether Temporal is suitable for our needs. I’ve performed a simple load testing on our test environment.
We’re using Temporal version 0.28 deployed from the helm chart to the GKE on n1-standard hosts.
To simulate a load, I use a slightly modified HelloActivity from the java-samples repository. I’m pushing workflow executions at different rates and monitoring how much Temporal can handle without an increase in latency.
With the default setup from the helm-chart, I got a pretty stable value of 20 workflow executions per second. Then, after adding extra memory to Cassandra nodes and scaling up Temporal services, I’ve managed to achieve 50 executions per second, but no more than that. Scaling Cassandra to 6 nodes had no visible effect.
Can you please give some advice on how to improve the performance further? Which Cassandra set up should I use? How to look up for possible bottlenecks? Is it possible to tune Temporal services somehow?