首先都是关于wireshark
遇到网络性能问题三板斧
1.Statistics-->Summary 看Avg.Mbit/sec 看流量,观察存储负载 //统计信息
2.Statistics-->Service Response Time -->xxxxx(比如:ONC-RPC->Program:NFS VERSION:3-->Create Stat) 看 SRT,观察是否过载 //读写相应时间
3.Analyze-->Expert Info Composite 从Error 和 Warning看报错 比如重传乱序 的现象 //重传统计和重置统计

//数据传输情况
Statistics->TCP Stream Graph(Stevens)

Wireshark 的filter
1)协议过滤
多个协议 portmap||mount
2)ip+port
@1.ip.addr eq <ip地址> && tcp.port eq <端口号> 过滤表达式
@2.右击感兴趣的包,选择 follow tcp|udp stream
@3.stop - >save as / displayed 选项

几个协议可以参考的点
dns: 底层udp,采用触发链模式(观察者+责任链)
smb: win7 效率高于xp 在于 win7连续发送多个请求,和nfs一样,xp则每次都需要确认交替
smb3: 复制采用 offload data transfer 功能,文档流不传播,只是传播指令
nfs:基于ip控制权限,客户端ip有可能被NAT设备转为别的。另外:nfs读写文件,连续操作
noac效率低的原因,写操作->sync(同步),读文件时频繁GETATTR
ftp:客户端发起三次握手到服务器完成控制权限,服务器再向客户端发起三次握手完成数据传输
win7/2003 bug:ftp被动模式不被支持(网络包呈现出主动模式)

关于重传:
重传会特别耗性能,尽量避免超时重传,连续发生三次Dup ack会触发快速重传

乱序也会影响性能,性能问题优先考虑重传和乱序

总结:这本书还不错,值得一看

« js查看,清除cookie 两种高性能 I/O 设计模式 Reactor 和 Proactor(转) »