Stack Overflow Careers est servi comme suit:
user -> internet -> our fw -> nginx -> haproxy -> web farm
- FreeBSD est le système d'exploitation utilisé
- aucun pare-feu ou QoS n'est en place sur cette boîte
- nginx gère notre terminaison SSL
- haproxy gère l'équilibrage de charge
- nginx / haproxy poussent environ 15 Mbps dans chaque sens
Pendant le fonctionnement normal, nginx reçoit la requête HTTP, fait son travail et transmet la requête à une instance haproxy qui est liée à l'adresse de bouclage (127.0.0.1) sur cette même boîte.
Afin de résoudre certains problèmes l'autre jour, j'ai déplacé l'instance haproxy sur la même interface que nginx fonctionnait. Cela a immédiatement ajouté 100 ms de latence à toutes les demandes. Cette interface n'est pas une véritable interface physique, mais une interface carpe .
Quelqu'un peut-il m'expliquer pourquoi c'était le cas? Contention avec la file d'attente de paquets peut-être? Ou peut-être que le bouclage est toujours plus rapide parce qu'il est «doux»? Il y a quelque chose de fondamental qui me manque ici, et j'espère que quelqu'un va bien m'éduquer.