Điểm:0

Tăng TTFB trong cân bằng tải HTTP

lá cờ pe

Chúng tôi có giá đỡ riêng ở Amsterdam, Leaseweb.

Chúng tôi thực hiện cân bằng tải HTTP (thông qua Cloudflare) với 3 máy chủ Windows 2019 IIS:

  • Máy chủ 1: Máy chủ siêu nhỏ kim loại trần. Chạy IIS, MySQL8 và Redis.
  • Máy chủ 2: VM trên máy chủ Dell. Chạy IIS.
  • Máy chủ 3: VM trên máy chủ Dell (bản sao chính xác của máy chủ2). Chạy IIS.

Các tệp được phân phối cục bộ trong mọi nguyên nhân (thông qua sao chép)

Bây giờ vấn đề là TTFB, như được đo cục bộ trên máy chủ cao hơn trên máy chủ 2 và máy chủ 3 (VM).

Chạy (nhiều) bài kiểm tra ĐỊA PHƯƠNG với chrome:

Máy chủ 1:

  • Đang chờ (TTFB): 269 mili giây
  • Đang chờ (TTFB): 255 mili giây
  • Đang chờ (TTFB): 253ms

Máy chủ 2:

  • Đang chờ (TTFB): 379 mili giây
  • Đang chờ (TTFB): 376 mili giây
  • Đang chờ (TTFB): 369 mili giây

Máy chủ 3:

  • Đang chờ (TTFB): 374 mili giây
  • Đang chờ (TTFB): 381ms
  • Đang chờ (TTFB): 378 mili giây

Như bạn có thể thấy, máy chủ một có TTFB thấp hơn đáng kể. Xét về CPU, máy chủ 2 và 3 thực sự nhanh hơn:

PHIẾU ĐÁNH GIÁ PHP

Máy chủ 1 Tổng thời gian: : 4,022 giây.

Máy chủ2 Tổng thời gian: : 2,866 giây.

Máy chủ3 Tổng thời gian: : 2,936 giây.

I/O gần như giống nhau đối với tất cả các máy chủ. Tất cả họ đều có ổ SSD mới với bộ điều khiển đột kích phần cứng.

Tôi đã thử nghiệm chuyển Redis sang một trong các máy ảo để tôi có thể biết liệu độ trễ tăng thêm có phải do Redis gây ra hay không, nhưng nó không tạo ra một chút khác biệt nào.

Giả định của tôi là độ trễ bổ sung trong TTFB đến từ MySQL chạy trên máy chủ 1? Chạy MySQL trên cùng một máy chủ sẽ tạo ra TTFB nhỏ hơn đáng kể mặc dù CPU chậm hơn.

Có một cách giải quyết cho điều này?

Trên thực tế, câu hỏi thích hợp là, làm cách nào để xác định nguyên nhân gây ra độ trễ tăng thêm là gì?

lá cờ ua
TTFB để làm gì? Một trang web? Apache? PHP? MySQL 8 trong mọi trường hợp? Redis?
lá cờ pe
IIS, trang web. Chúng tôi có một phiên bản MySQL8 đang chạy trên server1.
lá cờ ua
Có bao nhiêu lõi CPU? Bạn đang gợi ý rằng sự tồn tại của MySQL trên máy đang làm chậm quá trình tạo trang web bằng IIS trên cùng một máy chủ?
lá cờ pe
Không. Hoàn toàn ngược lại. Trên máy chạy MySQL, TTFB thấp hơn.
Wilson Hauck avatar
lá cờ jp
Kết quả của SELECT @@VERSION là gì; trên Server1 và Server2 và Server3?
lá cờ pe
Điều này giống nhau cho tất cả các máy chủ: mysql> CHỌN PHIÊN BẢN(); +-----------+ | PHIÊN BẢN() | +-----------+ | 8.0.27 | +-----------+ 1 hàng trong bộ (0,00 giây)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.