我正在寻找适合 CPU 的东西,但对于网络使用来说,它将限制应用程序网络消耗到可以配置的水平。
xapian-replicate-server 占用了我 80% 的网络资源,这导致 mysql 连接出现问题(mysql 服务器也在这台机器上运行)。我无法将 xapian 或 mysql 移到其他机器,因此我需要将 xapian 网络使用率限制在一个合适的水平。
有什么工具可以帮助我做到这一点?
答案1
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 创建一个新的 cgroup,并为其提供总计 2048 千字节/秒的 TCP 流量带宽和总计 4096 千字节/秒的网络流量带宽。
答案2
似乎“涓流”可以为你工作:http://monkey.org/~marius/trickle/