问题产生

在项目开发过程中,会有各种各样的需求。
而在需求开发过程中,我们常常会遇到从没有见过的问题,这就需要我们一步一步排查。
在一次版本需求中,需要统计不同渠道APP的下载量。

理想很丰满,现实很残酷。

因为安装包是放在了服务器,通过url地址下载安装。所以想的是通过nginx记录的access日志统计不同安装包的下载次数,然后记录存储。

这不,问题就来了:

在统计时,发现安卓设备在下载过程中时,虽然只请求了一次url地址。但是在nginx-access日志中却产生了多条日志记录。
这样就导致统计的结果远远超过真实的下载量。

问题它就这么来了!!!

排查问题

  1. 在查看nginx日志时,发现日志有不同,如下图:

    可以看到http状态码有200、206。
    状态码200,大家都知道代表请求正常。
    状态码206,没遇见过这个。
  2. 上网查询http状态码 206

    搜到的结果是请求资源只是一部分时,http状态码为206。
  3. 使用charles抓包验证

    发现在下载过程中时,会请求多次服务端。
    同时也有看到每次请求返回的数据字节数是不一样的。
    至此,已经明白原因并确认了。

最终结果

安卓在下载大文件时,为了提高下载速度,会使用多线程同步下载。

至于统计需求,只能换一种方式统计下载量了

统计APP下载量--发现安卓下载大文件使用多线程下载方式相关推荐

  1. python下载大文件-golang/python 下载大文件时怎样避免oom

    问题场景:高频系统中,agent 会向ATS 服务器发出刷新和预缓存的请求,这里的请求head 里面有GET ,PURGE等,因为一般的预缓存都是小文件,但是某天,突然服务器oom...罪魁祸首发现是 ...

  2. python下载大文件-python requests 下载大文件不完整

    目前我有一个脚本, 从帝联的 CDN 外链获取一下文件作为备份. 使用的是 Python 2.7.10 requests 2.8.1 目前碰到一个情况, 使用 requests 下载大文件的时候会出现 ...

  3. php 统计 app 下载量,如何做一个算法估算出一个不定时抓取到一个APP每天的下载量...

    假设每天我固定时间去某一个网站,比如豌豆荚抓取某一个APP的下载量,如果每次都是固定时间抓取,我肯定能够抓到每天的下载量. 但我无法做到每天固定时间抓取,我只能每天不固定时间抓取一次,如何用算法估算出 ...

  4. Python 下载大文件,哪种方式速度更快

    点击上方"菜学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 大家好,我是菜鸟哥. 通常,我们都会用 requests 库去下载,这个库用 ...

  5. APP下载量全面概述,含统计方法

    全面概述App下载量价值 首先明确 App 的安装流程,用户在看到 App 的广告后,会经历的主要下载路径为:打开链接进入落地页->点击下载按钮跳转应用商店->进入应用商店下载 App-& ...

  6. 移动App下载量SEO优化

    如果想要提升你的移动App下载量,究竟是给用户打折促销呢?还是去尽可能吸引用户呢?实际上两者之间还是有些不同的.促销并不会让你的App获得大量下载,至少不会持续获得.App市场实在是太嘈杂了,每款Ap ...

  7. android 关于刷app下载量的问题

    百度搜索了一下,各种刷app下载量的,还是收费的,不如花钱给个大平台推广app,让你的app排名.下载均靠前.

  8. 如何提高app下载量(appstore下载量)

    如何提高app下载量(appstore下载量) 根据IAB E"2021年欧洲广告报告",2021年下半年欧洲数字广告强劲复苏,全年增长6%,达到694亿欧元.刷赞平台的相关资讯可 ...

  9. 【数据分析与可视化】使用pyecharts对App下载量数据进行可视化分析(附源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ 下面针对一些App的下载量数据,使用pyecharts进行可视化分析,各类App某段时间的下载次数如下 App                      ...

最新文章

  1. 声明了变量并赋了初始值,但在VS中报当前上下文中不存在名称“ XXX”的错误...
  2. 识别MNIST数据集:用Python实现神经网络
  3. 一道面试题:用shell写一个从1加到100的程序
  4. MySQL创建普通用户
  5. 2019-05-21 Java学习日记之String类型Demo
  6. C++_IO类型_文件输入输出流_字符串流
  7. java加密 c解密_java+加密解密
  8. caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
  9. Cannot find class ‘org.apache.hudi.hadoop.HoodieParquetInputFormat‘
  10. 十五秒破解“还原卡”
  11. Scala简介与Scala的下载安装
  12. 医号馆诊所管理软件系统更新,新增人脸识别、处置单等功能!
  13. 正逆运动学解(三维)
  14. ZigBee-CC2530单片机 - 按键控制跑马灯的启停
  15. ue4蓝图运行顺序_如何从零基础慢慢学习到UE4的顺序?
  16. 阿里云智能编码插件,Cosy文档搜索上新了
  17. 高数_第3章重积分_三重积分之2__先一后二和先二后一
  18. 推荐十个最好的Java性能故障排除工具:
  19. 如何清理windows server 2008 R2 中winsxs文件夹
  20. 影像组学|影像组学导论

热门文章

  1. ftl模板导出excel_freemarker导出Excel
  2. keil4怎么建立c语言工程,第5节:用keil软件新建,关闭,打开一个完整工程的操作流程...
  3. 在世界球场一球成名:HMS 生态为游戏开发者送出的助攻
  4. android数字滚动控件,Ticker 滚动数字控件
  5. 【Error2013:2013 lost connection to MYSQL server在处理大量数据运行中报错解决方法】
  6. 大学计算机实验报告答案 南京理工大学,南京理工大学微机实验报告
  7. uniaccess安全助手卸载
  8. 使用Rust开发操作系统(UEFI基本介绍)
  9. ToDesk-----个人免费 极致流畅的远程协助软件
  10. IntelliJ IDEA 插件库设置