Я ищу что-то вроде хорошего для процессора, но для использования в сети, которое ограничит потребление сети приложением до уровня, который будет настраиваться.
У меня проблемы с xapian-replicate-server, который использует 80% моей сети. Это вызывает проблему с подключениями mysql (сервер mysql тоже работает на этой машине). Я не могу перенести xapian или mysql на другую машину, поэтому мне нужно ограничить использование сети xapian до приличного уровня.
Есть ли какой-нибудь инструмент, который поможет мне в этом?
tc
, iptables
и т. д. могут все это сделать, но просто чтобы отличаться:
Вы можете использовать функцию ядра Linux cgroups
и это net_cls
модуль для ограничения xapian-replicate-server. Что-то вроде этого должно получиться:
mount -t cgroup -onet net /sys/fs/cgroup
cd /sys/fs/cgroup
mkdir xapian-replicate-server
/bin/echo $$ > xapian-replicate-server/tasks
/bin/echo 2048 > xapian-replicate-server/net.tcp
/bin/echo 4096 > xapian-replicate-server/net.tot
however_you_launch_xapian-replicate-server
Это создаст новую контрольную группу для Xapian и даст ей 2048 килобайт / с пропускной способности TCP-трафика и 4096 килобайт / с общей пропускной способностью сетевого трафика.
Похоже, вам подойдет "струйка": http://monkey.org/~marius/trickle/