网络测试各项参数

宇文曦
2023-12-01

主机之间的测试

  • 待测主机
#作为服务端监听端口5001,将接收到的数据丢入null中
nc -l 5001 > /dev/null
  • 测试方
#发送一块1GB大小的东西给待测主机,当主机名为localhost时为本机测试
dd if=/dev/zero bs=1MB count=10000 |nc ip地址或者主机名 5001

测试磁盘读取速度

nc -l 5001 > /dev/null
#开启一个新的终端界面
time nc localhost 5001 < 大文件

得到三个时间 real,user,sys
计算磁盘读取速度为
文件大小/real/1000000的值为磁盘读取速度。

测试内存速率

由于上面磁盘的命令,此时文件已经缓存在内存中,用同样的命令可以计算内存读取速率

内存读取速率与本机测试读取速率不同

是由于dd本身占用一定的资源所以比从内存读取效率慢

  • 显示带宽
nc -l 5001 | pv -W > /dev/null

总结

  • 有此可见通过消息队列或者管道的TCP经历了4次拷贝
    1,由用户空间的buf中将数据拷贝到内核中。2,内核将数据拷贝到内存中。3,内存到内核。4,内核到用户空间的buf.
 类似资料: