First of all, since we are targeting EDGE, so we want to run with the lowest possible commodity hardware. Now, we are testing a VM, and based on the performance we can increase resources until reaching the goal.
We are testing a VMware Ubuntu Server 20.4 guest. Now back to your questions.
1- make sure using the latest helm: v1.2.2 (as of Nov, 4th, 2020)
2- can you plz provide the helm command used to install Temporal?
helm install -f values/values.mysql.yaml temporal
. --timeout 900s
3- can you plz provide the hardware configurations? e.g. MySQL: CPU / mem / iops, number of Temporal frontend / matching / history and corresponding hardware configs? (number of frontend / matching / history should be controlled by
--set server.replicaCount=<number here> )
Running our own MYSQL 5.7 inside the same VM Ubuntu 20.4.
For tests we are using K3d
1 frontend, 1 matching, 1 history, etc.
The CPU is:
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 45 bits physical, 48 bits virtual
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model name: Intel® Core™ i7-5557U CPU @ 3.10GHz
CPU MHz: 3100.000
Memory 4Gb (consumed only 1.57 Gb with all services up)
CPU without load is about 5 - 10 %
4- During the load test, what is the CPU utilization / load, mem usage? (DB & Temporal services)?
- We are using K6 for load tests, ranging between 20 to 30 VUs for 10 minutes.
- Our app is running outside the VM (in the same network)
- With load, memory looks ok, no major changes. However with CPU peaks at 80% to 95% during tests.
Obviously, with this basic setup, we are not expecting to reach 100 workflows/sec but we are getting only between 3 to 5 workflows/sec which we believe could be improved.