У меня сильно загруженный сервер, и nginx использует всю доступную пропускную способность, и я не могу подключиться к серверу mysql (расположенному на другом компьютере), так как я получаю такие ошибки, как
Потеряно соединение с сервером MySQL при чтении пакета авторизации
Я хочу настроить какое-то качество обслуживания, чтобы трафик mysql всегда имел приоритет, а его пакеты никогда не сбрасывались.
Есть ли способ сделать это в centos 7 / rhel?
В качестве альтернативы, есть ли возможность ограничить / сформировать трафик порта 80, скажем, 900 Мбит / с?
Вы можете использовать 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-адреса хоста, вам придется адаптировать: