Stack Overflow Careerers được phục vụ giống như vậy:
user -> internet -> our fw -> nginx -> haproxy -> web farm
- FreeBSD là hệ điều hành đang sử dụng
- không có tường lửa hoặc QoS được đặt trên hộp này
- nginx xử lý việc chấm dứt SSL của chúng tôi
- haproxy xử lý cân bằng tải
- nginx / haproxy đang đẩy khoảng 15 Mbps mỗi chiều
Trong quá trình hoạt động bình thường, nginx nhận được yêu cầu HTTP, thực hiện công việc của nó và chuyển yêu cầu đến một phiên bản haproxy được liên kết với địa chỉ loopback (127.0.0.1) trên cùng một hộp.
Để xử lý sự cố vào một ngày khác, tôi đã di chuyển cá thể haproxy lên cùng giao diện mà nginx đang chạy. Điều này ngay lập tức thêm 100ms độ trễ cho tất cả các yêu cầu. Giao diện này không phải là một giao diện vật lý thực sự, mà là một giao diện cá chép .
Bất cứ ai có thể giải thích cho tôi tại sao đây là trường hợp? Có thể liên quan đến hàng đợi gói? Hoặc có lẽ loopback luôn nhanh hơn vì nó 'mềm'? Có một cái gì đó cơ bản mà tôi đang thiếu ở đây, và tôi hy vọng ai đó sẽ vui lòng giáo dục tôi.