Haproxy, patroni et performances

Bonjour,
Avant de commencer, je voulais obtenir une opinion sur les performances que cela pourrait générer. Pour être plus clair, j’utilise un haproxy pour rediriger les requêtes de lecture vers un nœud spécifique d’un cluster géré par Patroni. Est-ce que les performances seront affectées négativement par les traitements effectués par le haproxy ? Merci.

haproxy gère que des connexions, ça m’étonnerait que ça fasse baisser les perf. J’avais fait un poc avec la stack que tu décris mais jamais fait de tests de charge.

Bonjour,
il peut gerer plus que des connexions, et dans notre cas.
on veut

  • detecter la nature des requetes qui arrive dessus avec les ACL. afin de soulager le serveur maitre/leader
  • mettre a jour dynamiquement la configuration du haproxy en consultant l’api de patroni pour connaitre l’inventaire

backend sql-backend
    mode tcp
    balance roundrobin
    stick-table type ip size 200k expire 30m
    stick on src
    option tcpka
    option mysql-check user haproxy_check

# Serveur de lecture
    server sql-read 192.168.1.10:3306 check weight 1
    acl is_select hdr_beg(host) -i SELECT
    use_backend sql-read if is_select

# Serveur d'écriture
    server sql-write 192.168.1.11:3306 check weight 1
    default_backend sql-write

backend sql-read
    mode tcp
    balance roundrobin
    server sql-read-1 192.168.1.10:3306 check weight 1

backend sql-write
    mode tcp
    balance roundrobin
    server sql-write-1 192.168.1.11:3306 check weight 1

Je te garanti que HAProxy ne ferra pas baisser tes performances. Le traitement TCP est vraiment très peu consommateur de CPU et en plus, en mode forward de data, HAProxy utilise une optimisation du kernel Linux qui évite les recopie de buffer entre la socket input et la socket output.

seule la latence réseau et système impactera tes flux, ce devrait être absolument négligeable par rapport au temps de réponse d’une base de données.

1 « J'aime »

j’abonde dans le même sens
HAproxy est un monstre d’efficacité et peut encaisser des débits inouis
c’est la DB derrière lui qui prendra la majorité du temps

1 « J'aime »