我们有许多应用程序运行在服务器网络中的同一台服务器机器上。我们希望将应用程序的带宽限制在特定值。以下是一些选择:
suppose we have three apps: A, B, and C.
1) Use Linux (kernel 2.6) QoS Utilities to limit the bandwidth of
these three applications.
2) Develop our own application to limit the bandwidth.当然,首选的是第一个,但是我们需要知道Linux提供的qos实用程序是否能够满足我们的需求。首先要检查的是,像TC这样的Qos工具是否为多个应用程序(指定应用程序名称或其他)提供了限制带宽的方法?
发布于 2013-08-15 11:07:24
您可以使用u32选择器,如下面从此页获取的示例中所指定。我在这里只显示出兴趣所在。
match u32 00000016 0000ffff at nexthdr+0此示例匹配目标端口的值0x16 (从TCP报头开始时的第三个和第四个字节)。
这只是一个例子,让您了解如何根据目的端口进行操作。
发布于 2013-08-15 10:52:33
是的,linux/tc可以满足您的需要,tc允许您在广泛的级别上设置筛选器来匹配流量,还可以使用iptables标记数据包并对这些标记进行匹配。但是,如果您试图匹配特定应用程序的任何网络通信量,这将变得更加困难。我建议以专用用户的身份运行该进程,并使用iptables所有者匹配为QoS标记这些数据包,然后可以在这些标记上使用tc。
https://serverfault.com/questions/531185
复制相似问题