Isa*_*avo 10 linux windows performance network-programming
我想创建一个测试应用程序来测试不同系统的网络性能.为此,我计划让该机器通过专用(非繁忙)网络将以太网帧发送到另一台机器(或设备),该机器只接收该消息并将其发回.发送应用程序将记录总往返时间(以及其他内容).
测试的目的是了解特定系统(OS +组件等)在网络流量方面的表现.这在下图中显示为机器A. 请注意,我对网络基础设施(交换机,电缆等)的性能不感兴趣 - 我正在尝试测试机器A内的网络流量的性能(即从它到达网卡到达用户空间的时候)
我们将(尝试)测量所有类型的东西,一件事是消息的总往返,还有机器A的中断延迟,一般驱动程序开销等等.机器A将是一个实时系统.但是为了支持这些测试,我需要一个可以反弹消息的独立机器,并以其他方式为测试系统添加网络刺激.这个单独的机器是下图中的机器B,这个问题是关于什么的.

我想开发一个应用程序,它可以接收和返回这些消息,并尽可能保持一致(最好是低)延迟.我希望至少在几微秒内得到一致的延迟.为简单起见,我想在Windows或Linux等通用操作系统上执行此操作,但我愿意接受其他建议.除操作系统和我的测试应用程序外,机器上不会有其他负载(CPU或其他).
我想到了以下方法:
是否还有其他方法或框架可以做到这一点?还需要考虑什么才能获得一致且低延迟?建议采用什么方法?
您提到要测试机器A的内部性能,但"需要一台单独的机器"; 但是,您不希望测试网络基础架构性能.
你比我更了解你的要求; 但是,如果我在机器A中测试网络基础设施,我会像这样设置我的测试:

这有几个原因:
如果您使用此测试方法,请务必注意以下几点:
即使您需要从机器B接收修改后的"乒乓"帧,您仍然可以使用此拓扑,只需在机器A的代码接收端重写数据包字段.尽可能多地(或少数)检测点比如在机器A的"模块"中比较帧时间戳.
供参考:
我在你的问题评论中提到的嵌入式系统用于测量网络基础设施的延迟,而不是终端主机.这是我能够考虑用于检测主机延迟的最佳方法.
| 归档时间: |
|
| 查看次数: |
2035 次 |
| 最近记录: |