我们有许多应用程序运行在服务器网络中的同一台服务器机器上。我们希望将应用程序的带宽限制在特定值。以下是一些选择:
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提供的q
最近,我正在研究Linux的QOS实用程序-- TC,今天我在Linux上遇到了带宽限制脚本中的以下两种状态:
tc filter add dev eth0 parent 1: prio 1 protocol ip u32 \
match ip tos 0x68 0xff match ip protocol 0x11 0xff flowid 1:1
tc filter add dev eth0 parent 1: prio 1 protocol ip u32 \
match ip tos 0xb8 0xff match ip protocol 0x11
我对PIN工具很陌生。我只是尝试运行自述文件中给出的示例代码。
最初,我使用以下方法构建:
$ cd source/tools/ManualExamples
$ make all
它正确编译并使用.so和.o文件创建了Obj-阻抗64文件夹,但是当我编译$makeinscot0.test时,我得到了以下消息:
pavan@pavan-Inspiron-5521:~/Drive/PIN/pin-2.13-61206-gcc.4.4.7-linux/source/tools/ManualExamples$ make inscount0.test
make -C ../../../source
我希望降低特定网络流量的优先级,特别是在我的Linux服务器中使用tc,特别是tc-u32。换句话说,所有其他流量都必须比具有指定IP-proto的流量具有更高的优先级。
我试图应用这个tc筛选规则来降低发送ICMP通信量的优先级:
tc f a dev eno1 parent 1: prio 2 u32 match ip protocol 1 0xff
但是它返回这个错误:
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
在这种情况下,我对tc还有一些不清楚的地方:
如何使这条规则正常工作?
在我的网络中,我试图通过基于Linux的软件桥来确定流量的优先级。当我在本地(在承载桥的机器上)生成流量时,流量被正确地排序。但是,“远程”通信量(来自通过桥接器的其他节点)没有被排序(向所有发件人分配相同的带宽)。也许有人知道原因?
桥为I350网络适配器设置如下(Linux5.1.81-Manjaro #1 SMP抢占孙俊9 20:44:14 UTC 2019 x86_64 GNU/Linux):
brctl addbr br0
ip link set dev enp1s0f0 promisc on
ip link set dev enp1s0f1 promisc on
ip link s
我正在运行pytest_addoption钩子和pytest xdist插件。
def pytest_addoption(parser):
parser.addoption("--env", action="append", default=[], help="list of env's to pass to test functions")
def pytest_generate_tests(metafunc):
if 'env' in metafunc.fixturenames: metafunc.p