NTTTCP-for-Linux
微软的网络吞吐量多线程基准测试工具 for linux版
特征
- 多个线程来发送/接收数据(“ -P”,“-n”和“ -l”)。默认情况下,Receiver('-r')使用16个线程,而Sender('-s')使用64个线程交换数据。
- 支持cpu关联性('-m')。
- 支持在后台运行(守护程序,“-D”)。
- 默认情况下支持发送方和接收方同步模式。使用“ -N”(no_sync)禁用同步。
- 支持使用多个客户端模式进行测试(在Receiver上使用“ -M”,在最后一个发送者上使用“ -L”)。
- 默认情况下支持select()和epoll()(在Receiver上使用'-e')。
- 同时支持TCP(默认)和UDP('-u')测试。
- 支持引脚TCP服务器或客户端端口(在Receiver上使用“ -p”或在Sender上使用“ -f”)。
- 支持测试热身('-W')和冷却('-C')。
- 支持报告TCP重传('--show-tcp-retrans')。
- 支持报告数据包数量('--show-nic-packets')和中断数量('--show-dev-interrupts')
- 支持带宽限制(“ -B”或“ --fq-rate-limit”)
- 支持将日志写入XML文件('-x')。
uilding NTTTCP-for-Linux
make; make install
Usage
ntttcp -h
运行示例
为了测量运行SLES 12的两个多核服务之间的网络性能,NODE1(192.168.4.1)和NODE2(192.168.4.2)通过40 GigE连接进行连接。
在NODE1(接收器)上,运行:
./ntttcp -r
(翻译:使用默认设置将ntttcp作为接收器运行。默认设置包括:创建了16个线程并在所有CPU上运行,分配了64K接收器缓冲区,并运行了60秒。)
然后在NODE2(发送方)上运行:
./ntttcp -s192.168.4.1
(翻译:使用默认设置将ntttcp作为发送程序运行。默认设置包括:创建64个线程并在所有CPU上运行,分配128KB发送缓冲区,并运行60秒。)
使用上述参数,程序将在发送方和接收方节点上均返回结果,从而将网络通信与CPU利用率相关联。
给定运行的示例接收器端输出(展示了37.66 Gbps的吞吐量):
更多使用方法可以查看官方文档
开源地址:
https://github.com/microsoft/ntttcp-for-linux
更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。