tra-loi-cau-hoi-phat-trien-web.com

Làm thế nào để hạn chế băng thông mạng?

Chúng tôi đang lưu trữ một ứng dụng trên máy chủ từ xa. Chúng tôi cần kiểm tra nó với băng thông mạng hạn chế (đối với người dùng có truy cập Internet xấu).

Tôi có thể giới hạn băng thông internet của mình không? Ví dụ: 128 KB mỗi giây.

Câu hỏi này tập trung vào các giải pháp toàn hệ thống hoặc toàn bộ container trên Linux. Xem Giới hạn sử dụng băng thông internet của Shell cụ thể để biết các giải pháp dành riêng cho quy trình hoặc theo phiên.

80
fiction

Bạn có thể điều tiết băng thông mạng trên giao diện bằng lệnh có tên tc Trang man có sẵn tại http://linux.die.net/man/8/tc

Đối với một tập lệnh đơn giản, hãy thử wonderershaper .

Một ví dụ từ việc sử dụng tc: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540

73
Nikhil Mulley

Như đã lưu ý trong câu trả lời trước, wonderershaper thực hiện công việc một cách dễ dàng. Tôi bao gồm thông tin từ liên kết trên bởi Jwalanta Shrestha

apt-get install wondershaper

wonderershaper - Một công cụ dễ dàng để giới hạn băng thông của một giao diện cụ thể.

$ Sudo wondershaper {interface} {down} {up}

{down} và {up} là băng thông tính bằng kpbs

Vì vậy, ví dụ nếu bạn muốn giới hạn băng thông của giao diện eth1 xuống 256kbps đường xuống và đường lên 128kbps,

$ Sudo wondershaper eth1 256 128

Để xóa giới hạn,

$ Sudo wondershaper clear eth1 
70
Eden

Giới hạn tài nguyên mạng dựa trên một số tiêu chí là chủ đề của QoS . Có một số cách khác nhau để kiểm soát lưu lượng người dùng trên các hệ thống Linux.

Có một Hướng dẫn tốt về các kỹ thuật định tuyến nâng cao và kiểm soát lưu lượng trên Linux của Bert Hubert.

10
Emre Yazici

Nếu bạn đã có một thiết lập Apache ở đâu đó, bạn có thể sử dụng mod_bw , cũng hoạt động trên các kết nối được ủy quyền (nghĩa là Apache chỉ chuyển tiếp mọi thứ đến máy chủ phù hợp, nhưng làm chậm các phản hồi xuống.)

7
Ulrich Schwarz

Bạn cũng có thể sử dụng mô-đun hashlimit iptables. Đây là một ví dụ đơn giản:

iptables -A FORWARD -m hashlimit --hashlimit-trên 512kb/giây --hashlimit-nổ 1mb --hashlimit-mode srcip, dstip --hashlimit-name bwlimit -j DROP

Quy tắc đó giới hạn lưu lượng đi qua chuỗi FORWARD là 512kb/giây với cụm 1mb cho mỗi cặp nguồn và đích.

Kiểm tra phần hashlimit của hướng dẫn iptables để biết thêm thông tin.

http://ipset.netfilter.org/iptables-extensions.man.html

6
ibrahim

Dummynet thực hiện những gì bạn muốn và hơn thế nữa, bạn thậm chí có thể kiểm soát độ trễ, mất gói ngẫu nhiên và nhiều hơn nữa.

6
Ammar Alammar