⢠One thing to check, is that you are talking to brokers and not to proxy, though proxy should not show this behaviour.
⢠Any reason for disabling batching? When you disable batching, then you may be incurring the round trip cost on each message produce. so for eg lets say a message takes 10 ms to be produced, then with 10 producer instances, you probably will get ~ 10 * (1/10ms * 1000) = 1000 qps. Maybe thats why surprisingly you got more throughput with producer object per msg becauses then, in a way, you can create more producer objects at once and they all can try to send the message concurrently.