Networking
QoS - CentOS / rhel 上的 MySQL 頻寬優先級
我有一個負載很高的伺服器,而 nginx 正在消耗所有可用頻寬,我無法連接到 mysql 伺服器(位於另一台機器上),因為我遇到了類似的錯誤
在“讀取授權數據包”時失去與 MySQL 伺服器的連接
我希望設置某種服務質量,以便 mysql 流量始終具有優先級,並且它的數據包永遠不會被丟棄。
在 centos 7 / rhel 中有什麼方法可以做到這一點嗎?
或者,是否有任何選項可以將埠 80 流量限制/調整為 900Mbps?
您可以使用 iptables 和 TC。它會是這樣的:
iptables -t mangle -A FORWARD ! -s 192.168.xxx.0/24 -d 192.168.xxx.xxx -j MARK --set-mark 1 tc qdisc add dev <eth> root handle 1: cbq bandwidth 100Mbit avpkt 1000 mpu 64 tc class add dev <eth> parent 1:0 classid 1:1 cbq rate 3200Kbit allot 1514 prio 1 avpkt 1000 bounded tc filter add dev <eth> parent 1:0 protocol ip handle 1 fw flowid 1:1
過濾器來自主機的 IP 地址,你必須適應:
- iptables 與您的應用程序的 TCP 埠一致。
- 以及每個類的頻寬