zhngs

zhngs

socket编程(2)——性能测试

一.性能指标
二.带宽测试
三.协议栈参数

一.性能指标

网络的三大指标:带宽、延时、丢包率

  • 一个千兆的以太网,tcp带宽理论上是125MB/s,但不算头部只算纯载荷的话,极限在117MB/s,也就是112Mib/s

  • 延时的指标有平均延时,长尾延迟

资源使用率指标

  • 如果一个程序只能使用某个硬盘的80%的带宽,那么资源使用率可以提高

  • 类似的还有cpu使用率,一个程序全力跑如果跑不满cpu,那么资源使用率是可以找到原因的。瓶颈如果在cpu,要不优化程序,要不并行处理

二.带宽测试

使用nc测试本机,全力跑是测试出来的带宽是本机协议栈的性能

使用nc测试两个公网间的机器,全力跑出来是两个机器间的带宽

三.协议栈参数

查看tcp缓冲区大小

$ sysctl -A | grep mem net.ipv4.tcp_mem = 43269 57694 86538 net.ipv4.tcp_rmem = 4096 87380 6291456 net.ipv4.tcp_wmem = 4096 16384 4194304