我一直在测试f-stack,当数据包大小很小时,f-stack表现得非常好,比如64 ~ 1024字节。然而,当数据包大小增加到一定程度时。我注意到它比原始的TCP轮询更糟糕。
我已经使用f-stack实现的客户端和服务器乒乓测试了延迟和吞吐量。
我怀疑当前NIC的MTU速度与某些东西有关,因为当我像下面这样键入时,我得到了以下结果:
ifconfig| grep MTU
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
UP BROADCAST MULTICAST MTU:1500 Metric:1
UP BROADCAST MULTICAST MTU:1500 Metric:1
UP LOOPBACK RUNNING MTU:65536 Metric:1
以下是延迟的结果图:
正如您所看到的,当数据包大小超过1500时,f堆栈的性能会下降。
以下是吞吐量的结果图:
有没有办法提高f-stack在大数据包下的性能?
发布于 2018-01-05 03:44:39
MTU是最大的转换单位,通常为1500,因此理论上TCP数据包大小限制为64K,但以太网MTU大小对此进行了限制。有关详细讨论,请参阅以下内容:https://www.lifewire.com/definition-of-mtu-817948。简而言之,是的,你是对的,你做了非常好和有效的测试。干得好!要提高性能,您必须增加MTU。这就是答案。然而,这并不总是可能的。
https://stackoverflow.com/questions/48102278
复制相似问题