[Verse 1]
When your Kafka cluster's running slow
CPU and memory need to flow
Set requests low but limits high
So brokers have room to reach the sky
ZooKeeper needs its resources too
Plan your limits, see performance through
[Chorus]
Tune it up, tune it down
Memory heap and threads all around
X-M-S for the start
X-M-X for the heart
Anti-affinity spread apart
Resource tuning is an art
[Verse 2]
JVM heap size sets the stage
Xms minimum for every age
Xmx maximum when load gets tough
G-one-G-C when standard's not enough
Garbage collection needs a plan
Parallel or CMS, choose your span
[Chorus]
Tune it up, tune it down
Memory heap and threads all around
X-M-S for the start
X-M-X for the heart
Anti-affinity spread apart
Resource tuning is an art
[Bridge]
Network threads handle the requests
I-O threads put storage to the test
Replica fetcher keeps data in sync
More threads help but use them smart, don't just think
[Verse 3]
Pod affinity brings pods close together
Anti-affinity spreads through any weather
Topology constraints across the zones
Keep your brokers on different nodes
Spread them wide for resilience sake
High availability's what we make
[Chorus]
Tune it up, tune it down
Memory heap and threads all around
X-M-S for the start
X-M-X for the heart
Anti-affinity spread apart
Resource tuning is an art
[Outro]
From CPU to GC tune
Network threads and memory soon
Spread your pods across the land
Strimzi tuning, take command