Đơn giản chỉ cần thay đổi (tăng) của uwsgi nghe tồn đọng bằng cách sử dụng -l
hoặc --listen
tùy chọn (như được chỉ bởi user4815162342) khi khởi động máy chủ, đến một giá trị lớn hơn sau đó 128 sẽ không cho phép uwsgi để chạy. Vì không còn là một hạn mức hệ thống trên ổ cắm và TCP kết nối Unix nghe hàng đợi - mặc định là 128, bạn có thể xác minh nó (đối với ổ cắm Unix):
cat /proc/sys/net/core/somaxconn
uwsgi đã patched, như vậy nếu giá trị truyền cho Tham số --listen
khi khởi động uwsgi lớn hơn thì giới hạn mức hệ thống (giới hạn hạt nhân Linux) nó sẽ khiến uwsgi bị lỗi. Nếu bạn muốn đặt giới hạn hàng đợi nghe của uwsgi lớn hơn giới hạn mức hệ thống (tức là 128) - trước tiên bạn phải tăng giới hạn của hạt nhân. Có thể được thực hiện thực hiện các lệnh sau:
$ echo 4096 > /proc/sys/net/core/somaxconn
$ cat /proc/sys/net/core/somaxconn
4096
Hoặc
$ sysctl -w net.core.somaxconn=4096
Hoặc Thêm net.core.somaxconn=4096
-/etc/sysctl.conf
cho nó trở nên vĩnh cửu (tồn tại khi khởi động lại).
Nguồn
2016-04-06 13:22:22
Bạn có chắc chắn đó là những gì bạn cần làm không? Nếu bạn tích lũy một backlog của 100 kết nối, bạn phải sử dụng ít nhất khoảng 99% dung lượng của bạn, và sau đó tăng giới hạn sẽ chỉ cung cấp cho bạn một không gian thở cực kỳ tối thiểu trước khi số lượng kết nối đến vượt quá những gì bạn có thể có thể phục vụ. Nó sẽ hiệu quả hơn nhiều để tìm ra cách bạn có thể phục vụ các yêu cầu nhanh hơn. –