关于下载图片较慢的一些探索

一直发现个人网站的部分图片加载很慢,所以想研究下具体原因到底是在流量不足还是说客户端自己的问题,同时顺便复习下一些工具

一:搞起

1.原图片大小,大概84K左右

[ xxx]# stat _1527000864_2
  File: `_1527000864_2'
  Size: 84096         Blocks: 176        IO Block: 4096   regular file
Device: ca11h/51729d    Inode: 2408577     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    2/  daemon)   Gid: (    2/  daemon)
Access: 2018-08-18 21:10:27.000000000 +0800
Modify: 2018-05-22 22:54:24.000000000 +0800
Change: 2018-05-22 22:54:24.000000000 +0800

2.监听一下流量

tcpdump -X -s128 -iany tcp and src or dst port 8880 | tee fuck

3.同时监测一下下载时的流量是否符合预期

while true; do echo "---";date +'%F %T'; cat /proc/net/dev |grep eth1 | awk '{print $9 , $10}'; sleep 1; done >> pack_calc

每秒检查一次,/proc/net/dev里有发包的数目和发包字节

4.开始下载>>>>>>>>>>>>>>

二:结果分析

1.分析tcpdump数据

 

 可以看到客户端从21:10:26.780526开始发起请求

 

 服务器在21:10:32.068124结束发送并主动断连FIN.这时候客户端收到数据84392个字节,与文件84096大小差不多,因为包括协议内的各种控制数据,所以实际的内容肯定比84906大。到这里几乎用了6s时间

不过有意思的是服务器从21:10:32发送FIN并进入FIN2状态,但客户端并未close关闭连接,而是到21:12:02秒服务器主动RST断链

 

2.检查一下这段时间网卡发包数据是否对得上

注意这段起始时间,第一列是字节数,第二列是包数,期间共发送了1172659177-1172551438=107739字节>84392字节

因为这期间还有其他连接的数据包含在内,所以基本符合预期

三:总结

传个图片传了大概6s时间,这期间流量是107739/1024*8/6=140kb/s,好吧,我的VPS只有128kb/s o(╯□╰)o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值