Làm cách nào để điều chỉnh nginx keepalive_timeout?


12

Tôi đang sử dụng nginx cùng với php-fpm để cung cấp một trang web dựa trên mysql bận rộn. Hiện tại tôi đang sử dụng keepalive_timeout = 5, tuy nhiên tôi không có ý tưởng rõ ràng về cách điều chỉnh tối ưu nó. Vì vậy, đánh giá cao gợi ý của bạn.

Câu trả lời:


10

Bạn cần điều chỉnh nó để làm gì, hay đúng hơn: bạn có thấy bất kỳ vấn đề nào với việc thiết lập nó như thế nào không?

Không có câu trả lời nào phù hợp cho tất cả mọi người; nếu hầu hết các trình duyệt máy khách có thể tải tất cả tài nguyên trên một trang trong 5 giây thì 5 giây là ổn, nhưng nó hoàn toàn phụ thuộc vào nhu cầu của ứng dụng của bạn - ví dụ: nếu máy chủ nginx của bạn đang phục vụ như một proxy ngược cho Exchange ActiveSync, chẳng hạn, bạn muốn nó quay vòng đến nửa giờ.


Chà, tôi đang cố gắng giảm thiểu tải máy chủ (khá cao vào thời gian chọn) và tôi đoán việc tối ưu hóa keepalive_timeout có thể đóng góp một phần cho mục tiêu này. Ngoài ra, đó chỉ là sự tò mò lành mạnh :)
cá ngừ

1
Chắc chắn - vì vậy, khá nhiều "càng thấp càng tốt mà không loại bỏ hầu hết các khách hàng trước khi họ tải trang" - vì vậy nếu các trang của bạn tải xuống dưới một giây cho hầu hết các khách hàng của bạn, thì thời gian chờ 1 giây sẽ ổn. Nhưng, trừ khi thời gian chờ của bạn nhiều, cao hơn 5 giây, thì không chắc đó là nguyên nhân chính gây ra tải máy chủ.
Shane Madden

Đó là điểm khó khăn. Làm thế nào tôi có thể xác định thời gian tải trang, do sự khác biệt về thời gian tải trang (một số nặng hơn những người khác), tốc độ kết nối truy cập, vv
alfish

Chỉ cần sân bóng nó. Một vài giây bằng cách này hay cách khác không có khả năng tạo ra sự khác biệt đáng kể về tải, do đó, hãy thoải mái ước tính mức cao - nhưng sau đó, một bản dựng mới của kết nối TCP (ngay cả khi bắt tay SSL, nếu có thể) cho máy khách tải chậm sẽ không tạo ra sự khác biệt lớn trong tốc độ tải tổng thể của chúng.
Shane Madden

1
@ShaneMadden, 5 giây đó không phải là tuổi thọ của kết nối, mà chỉ là thời gian chờ trong đó máy chủ chờ yêu cầu khác lên đến keepalive_requests. Vì vậy, điều quan trọng là phải mất bao nhiêu thời gian để tải toàn bộ trang, chỉ dành cho html cho đến khi trình duyệt bắt đầu tìm nạp hình ảnh / css ... BTW tối đa. kết nối thời gian được giữ mở gần nhưkeepalive_timeout*keepalive_requests
Marki555
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.