Các tài liệu nginx nói
max_clients = worker_processes * worker_connections
nhưng là những gì như thế nào là yếu tố keepalive vào điều này? Tôi có thiết lập cấu hình với 2 worker_processes và 8192 worker_connections; điều đó có nghĩa là tôi về mặt lý thuyết có thể xử lý tối đa 16384 kết nối đồng thời. Đẩy ra 16384 luồng dữ liệu đồng thời là ginormous, nhưng nếu tôi có 60s keepalive_timeout thì với mỗi khách hàng sẽ gửi một kết nối trong 1 phút con số đó có một ý nghĩa hoàn toàn khác. Đó là nó?
Đã kết nối với tất cả điều này là biến kết nối $ có thể được sử dụng với chỉ thị log_format. Tôi đã xác định định dạng nhật ký sau để tôi có thể phân tích hiệu suất của máy chủ:
log_format perf '$request_time $time_local $body_bytes_sent*$gzip_ratio $connection $pipe $status $request_uri';
Biến kết nối $ đó báo cáo khoảng 11-12 triệu kết nối! Tôi không có chuyên ngành toán học, nhưng rõ ràng con số đó cao hơn nhiều so với worker_processes * worker_connections. Vì vậy, nó phải đại diện cho những gì?
Tóm lại, tôi đang cố gắng tìm ra cách để xác định giá trị tốt cho worker_connection.
Một bộ đếm! Bây giờ bạn nói nó tôi có thể thấy mô hình. Cảm ơn bạn đã trả lời câu hỏi tối nghĩa này. – Daniel