J'ai configuré un cluster Kafka à six nœuds à deux nœuds avec un facteur de réplication de 2 sur AWS. Chaque noeud Kafka s'exécute sur une instance EC2 m4.2xlarge soutenue par un EBS.Kafka Limitation du débit du producteur et du courtier
Je comprends que le débit de données du producteur Kafka au courtier Kafka est limité par la bande passante réseau du producteur. Supposons que la bande passante réseau entre le producteur et le courtier Kafka soit de 1 Gbps (environ 125 Mo/s) et que la bande passante entre le courtier et le stockage Kafka (entre l'instance EC2 et le volume EBS) soit de 1 Gbit/s. J'ai utilisé l'outil org.apache.kafka.tools.ProducerPerformance pour profiler la performance.
j'ai observé qu'un seul producteur peut écrire à environ 90 Mo/s au courtier lorsqu'une taille du message est de 100 octets. (D'où le réseau ne soit pas saturé)
J'ai aussi observé que le taux d'écriture sur disque volume EBS est d'environ 120 Mo/s.
Est-ce 90 Mo/s en raison d'un goulot d'étranglement réseau ou est-ce une limitation de Kafka? (Oublier la taille des lots, etc de compression pour la simplicité)
Serait-ce en raison de la limitation de la bande passante entre les courtiers et le volume ebs?
J'ai aussi observé que lorsque deux producteurs (de deux machines séparées) produisent des données, le débit d'un producteur a chuté à environ 60 Mo/s.
Quelle pourrait en être la raison? Pourquoi cette valeur n'atteint-elle pas 90 Mo/s? Cela pourrait-il être dû au goulot d'étranglement du réseau entre le courtier et le volume ebs?
Ce qui me confond est que dans les deux cas (seul producteur et deux producteurs) Taux d'écriture sur le disque à ebs reste environ 120 Mo/s (plus proche de sa limite supérieure).
Merci