【网络编程实践】2.3.6 测试 netcat 性能
2023-09-27 14:28:32 时间
这里提供三种netcat的实现:
- recipes/tpc/netcat.cc thread-per-connection
- recipes/python/netcat.py IO-multiplexing
- recipes/python/netcat-nonblock.py IO-multiplexing
以下将以截图形式,展示测试结果。其中左上为 top 命令显示的各程序的资源占用情况,左下为执行的 netcat 程序,右为执行的 chargen 测试程序。
-
测试系统自带的 netcat 性能,约为 11360MiB/s
-
测试自实现的 netcat 性能。约为 3200MiB/s
通过对比,我们可以发现自实现的 netcat 比系统实现的要快一些。
- 分析cpu资源分配对整个测试结果的影响
分析 cpu 的使用率我们可以发现,在测试系统自带的 netcat 时,nc cpu 100%, 而chargen cpu 35%, 说明在测试结果11360 MiB/s 中, nc 程序是性能的瓶颈,拖慢了整个数据的传输速率。
而在测试自带的 nc 性能时,chargen cpu 100%,nc 接近 100%,测得性能为 3200 MiB/s 。
此时,如果我们再加上一个 pv 命令用于显示实时带宽,就会发现整体的测试结果会下降到 1130 MiB/s 左右。此时如果我们关注cpu的占用率,就会发现 pv 占用了一部分 cpu,导致 chargen 程序的cpu占用下降,从而拖慢了整个测试结果。
- 测试基于 python 实现的 netcat 性能,约为 940 MiB/s 。
- 测试基于 python 实现的非阻塞IO的 netcat 性能,约为 958 MiB/s 。
相关文章
- 敏捷开发实现测试自动化的6个步骤
- 技术分享 | 接口自动化测试中如何对xml 格式做断言验证?
- 浅谈专项测试之弱网络测试
- 技术分享 | App测试时常用的adb命令你都掌握了哪些呢?
- 性能测试的方法
- APP测试面试题汇总(基础篇、进阶篇)
- web UI自动化测试的实践之路
- 进行接口测试时,连接数据库,对数据源进行备份、还原、验证操作
- 2022性能测试分析优化的道与术
- Web自动化-Selenium自动化测试-3-selenium IDE用例录制
- 基于网络服务器端的网口测试-软件
- Fiddler实战之拟2G、3G、4G网络进行弱网测试
- CentOS 7 网络磁盘挂载到本地 并测试传输速度
- espresso系列3--测试实践
- 测试VDI网络性能 保证终端用户体验
- Unity Shader 之 渲染队列(Queue)、深度测试(ZTest)、深度写入(ZWrite) 让物体或UI永远显示在最前面
- 探索性测试揭秘
- abmr:块恢复特性测试自己主动
- 传感器网络测试技术获进展 我国迎传感器发展新局势
- 英特尔成都高端测试技术正式投产