还有一些通用的流量测试方法主要是在手机上抓包或通过网络代理来统计。 手机抓包 常用的在手机上抓包的工具是wireshark和liunx下的tcpdump。Tcpdump抓包需要root权限,ios的话需要越狱。 在一台root手机上先下载tcpdump可执行文件,通过adb push命令上传到手机上。一般选择/data/local目录,其他目录下的权限问题较多。然后可以进入tcpdump所在目录执行命令抓包了: 下方这个got的数据会随着访问不断变化。 关于tcpdump的命令可以参考命令手册,不再展开,上面的几个参数的含义: -s 0:默认抓取长度是68字节,加上-s 0过后可以抓到完整的数据包。 -w ./t1.pcap:将抓到的内容存入t1.pcap文件。 -v:在抓包过程中显示抓到包的数量。就是got旁的数据。 抓包结束后,将t1.pacp传到电脑用pcap分析工具进行查看和分析。 通过http过滤词,筛选出所有的HTTP请求,关注到某一个请求,如图这是晕客厅视频播放时视频资源的一个请求,可以查看对应的请求和响应的数据量,对于length字段。 也可统计所有请求的数据量: WIFI代理抓包 另外对于wifi代理的方式获取流量数据,这个就是我们在实际工作中经常用到的方法,更加简便,对于以http协议为主的系统来说更为合适。 Windows下常用的fiddler和ios下常用的charles,都很常用不做赘述。 另外对于ios的app还可以通过Instrument自带NetWork来查看网络流量,在xcode下打开open菜单选择developer tool打开Instrements,选择network功能即可。 可以通过进程方式查看app的网络吞吐和包的数量等,多数情况下看这个维度的数据。(此处使用的是中国大学mooc的数据) 也可以按tcp连接查看不同ip的网络请求流量: 也可以通过活动的接口查看整体流量,支持wifi和蜂窝网络接口,但无法区分app。 以上是Instruments提供的基本网络流量分析手段,但都是基于TCP/ IP连接来统计的,数据上比HTTP流量统计更精确,特别适合应用蜂窝数据时的流量统计。 最后,我来总结下流量测试可以给我们带来什么? 1.可以让我们很清楚的知道用户在某种场景下使用我们的产品需要消耗多少流量。 2.流量数据分析可以指导我们去做优化。 比如cgi的调用和参数设置是否合理,有些资源或者配置是否可以本地化? 3.流量的优化可以带来速度的优化 减少tcp数据包的个数,或者直接减少请求数都可以带来速度的优化。 |