Я хочу замедлить исходящий трафик, когда он сталкивается с перегрузкой, и измерить «перегрузку» по времени ответа пакета. Цель состоит в том, чтобы не допустить, чтобы один NFS-клиент лишил всех остальных клиентов при выполнении больших операций записи.
Я прочитал много руководств, руководств и ответов на ошибки сервера, связанных с регулированием трафика tc, но все они обычно начинаются с выбора произвольное ограничение пропускной способности, и мне бы очень хотелось, чтобы система автоматически настраивалась при улучшении наших сетевых компонентов.
Таким образом, ваши клиенты используют общий маршрутизатор, который они используют для связи с Интернетом. Сервер NFS?
Если это маршрутизатор Linux и у вас есть tc
, я думаю, вы действительно выиграете от ограничения исходящей скорости чуть ниже лимита вашего интернет-провайдера, справедливой организации очереди, такой как SFQ, и приоритета небольших пакетов (например, TCP ACK; см. Примеры в Wondershaper).
Замедление соединений из-за перегрузки буферов вашего интернет-провайдера большими загрузками является классической проблемой, и ее предотвращает ограничение исходящего трафика ниже лимита вашего интернет-провайдера, а затем разрешение вашему собственному маршрутизатору формировать ваш egress, как в случае с SFQ, и приоритезация пакетов управления TCP для уменьшения задержки.