统计APP下载量--发现安卓下载大文件使用多线程下载方式
问题产生
在项目开发过程中,会有各种各样的需求。
而在需求开发过程中,我们常常会遇到从没有见过的问题,这就需要我们一步一步排查。
在一次版本需求中,需要统计不同渠道APP的下载量。
理想很丰满,现实很残酷。
因为安装包是放在了服务器,通过url地址下载安装。所以想的是通过nginx记录的access日志统计不同安装包的下载次数,然后记录存储。
这不,问题就来了:
在统计时,发现安卓设备在下载过程中时,虽然只请求了一次url地址。但是在nginx-access日志中却产生了多条日志记录。
这样就导致统计的结果远远超过真实的下载量。
问题它就这么来了!!!
排查问题
- 在查看nginx日志时,发现日志有不同,如下图:
可以看到http状态码有200、206。
状态码200,大家都知道代表请求正常。
状态码206,没遇见过这个。 - 上网查询http状态码 206
搜到的结果是请求资源只是一部分时,http状态码为206。 - 使用charles抓包验证
发现在下载过程中时,会请求多次服务端。
同时也有看到每次请求返回的数据字节数是不一样的。
至此,已经明白原因并确认了。
最终结果
安卓在下载大文件时,为了提高下载速度,会使用多线程同步下载。
至于统计需求,只能换一种方式统计下载量了
统计APP下载量--发现安卓下载大文件使用多线程下载方式相关推荐
- python下载大文件-golang/python 下载大文件时怎样避免oom
问题场景:高频系统中,agent 会向ATS 服务器发出刷新和预缓存的请求,这里的请求head 里面有GET ,PURGE等,因为一般的预缓存都是小文件,但是某天,突然服务器oom...罪魁祸首发现是 ...
- python下载大文件-python requests 下载大文件不完整
目前我有一个脚本, 从帝联的 CDN 外链获取一下文件作为备份. 使用的是 Python 2.7.10 requests 2.8.1 目前碰到一个情况, 使用 requests 下载大文件的时候会出现 ...
- php 统计 app 下载量,如何做一个算法估算出一个不定时抓取到一个APP每天的下载量...
假设每天我固定时间去某一个网站,比如豌豆荚抓取某一个APP的下载量,如果每次都是固定时间抓取,我肯定能够抓到每天的下载量. 但我无法做到每天固定时间抓取,我只能每天不固定时间抓取一次,如何用算法估算出 ...
- Python 下载大文件,哪种方式速度更快
点击上方"菜学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 大家好,我是菜鸟哥. 通常,我们都会用 requests 库去下载,这个库用 ...
- APP下载量全面概述,含统计方法
全面概述App下载量价值 首先明确 App 的安装流程,用户在看到 App 的广告后,会经历的主要下载路径为:打开链接进入落地页->点击下载按钮跳转应用商店->进入应用商店下载 App-& ...
- 移动App下载量SEO优化
如果想要提升你的移动App下载量,究竟是给用户打折促销呢?还是去尽可能吸引用户呢?实际上两者之间还是有些不同的.促销并不会让你的App获得大量下载,至少不会持续获得.App市场实在是太嘈杂了,每款Ap ...
- android 关于刷app下载量的问题
百度搜索了一下,各种刷app下载量的,还是收费的,不如花钱给个大平台推广app,让你的app排名.下载均靠前.
- 如何提高app下载量(appstore下载量)
如何提高app下载量(appstore下载量) 根据IAB E"2021年欧洲广告报告",2021年下半年欧洲数字广告强劲复苏,全年增长6%,达到694亿欧元.刷赞平台的相关资讯可 ...
- 【数据分析与可视化】使用pyecharts对App下载量数据进行可视化分析(附源码)
需要源码请点赞关注收藏后评论区留言私信~~~ 下面针对一些App的下载量数据,使用pyecharts进行可视化分析,各类App某段时间的下载次数如下 App ...
最新文章
- 声明了变量并赋了初始值,但在VS中报当前上下文中不存在名称“ XXX”的错误...
- 识别MNIST数据集:用Python实现神经网络
- 一道面试题:用shell写一个从1加到100的程序
- MySQL创建普通用户
- 2019-05-21 Java学习日记之String类型Demo
- C++_IO类型_文件输入输出流_字符串流
- java加密 c解密_java+加密解密
- caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
- Cannot find class ‘org.apache.hudi.hadoop.HoodieParquetInputFormat‘
- 十五秒破解“还原卡”
- Scala简介与Scala的下载安装
- 医号馆诊所管理软件系统更新,新增人脸识别、处置单等功能!
- 正逆运动学解(三维)
- ZigBee-CC2530单片机 - 按键控制跑马灯的启停
- ue4蓝图运行顺序_如何从零基础慢慢学习到UE4的顺序?
- 阿里云智能编码插件,Cosy文档搜索上新了
- 高数_第3章重积分_三重积分之2__先一后二和先二后一
- 推荐十个最好的Java性能故障排除工具:
- 如何清理windows server 2008 R2 中winsxs文件夹
- 影像组学|影像组学导论
热门文章
- ftl模板导出excel_freemarker导出Excel
- keil4怎么建立c语言工程,第5节:用keil软件新建,关闭,打开一个完整工程的操作流程...
- 在世界球场一球成名:HMS 生态为游戏开发者送出的助攻
- android数字滚动控件,Ticker 滚动数字控件
- 【Error2013:2013 lost connection to MYSQL server在处理大量数据运行中报错解决方法】
- 大学计算机实验报告答案 南京理工大学,南京理工大学微机实验报告
- uniaccess安全助手卸载
- 使用Rust开发操作系统(UEFI基本介绍)
- ToDesk-----个人免费 极致流畅的远程协助软件
- IntelliJ IDEA 插件库设置