I've run a kafka cluster(3 kafka instances + zookeeper) via docker compose on my server recently(July 2024) with all latest tag for docker images.
I've setup jmx_exporter and node-exporter for monitoring the kafka cluster and the server host, and also the prometheus and grafana.
By July, there're over 1.2K clients (99% are produce, and 1% are consume) connected on in and the application functions now are all fine, but as the clients are keep increasing, I just concern when the server host will reach its limit.
These are the charts I currently have, but actually I'm not quite sure what I can get from them:
node exporter for watch the server host

jmx_exporter for watch the inside of kafka instances overall grafana snapshot
result of vmstat 1 5 in one of docker kafka instance
root@ecs-01796520-002:~# docker exec -it 70314ef51864 bash
[appuser@70314ef51864 ~]$ vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
12 0 0 723444 169068 8917012 0 0 60 1535 5 8 50 22 26 2 1
15 0 0 722616 169080 8917808 0 0 4 2760 41451 36304 52 21 24 1 1
8 0 0 721140 169108 8919176 0 0 84 4480 40002 33518 56 20 23 1 0
12 0 0 719684 169108 8920820 0 0 152 8 40462 35086 56 19 25 0 0
8 0 0 716452 169140 8921556 0 0 0 4468 40856 35174 55 22 23 1 0
Questions:
- how many more clients my server can maintain by given performance charts?
- what is the suggested solution to scale for support more clients? like 5K?



