网站流量统计方案的比较,以及基于页面请求设计一种方案

     0评论

WebServer日志、js埋点是常用的站点流量统计方案,本文简要分析其优劣,并设想一种基于实际页面请求来存储并展现访问日志的方案。

比较

WebServer日志

Apache、Nginx等的日志。

优点

  • 全部记录,包括用户访问和爬虫
  • 本地存储,信息安全
  • 可自定义字段和格式,信息全面
  • 除了访问日志,还有错误日志,可以用于排查程序错误,提升健壮性

缺点

  • 格式相对不易读,需要分析软件处理
  • 页面请求与静态文件请求混杂
  • 可能包含大量非搜索引擎爬虫的访问,例如攻击、暴力破解等访问
  • 不能/难以基于会话进行分析,了解诸如用户的停留时间、跳出率、特征等信息

JS埋点

通常使用第三方提供的服务,在模板头部或者足部加入带站点ID的脚本即可。

优点

  • 方便易用
  • 数据展现形象直观
  • 数据记录/存储的周期长,容易进行时段比对分析,以及长期趋势分析
  • 提供会话层面的分析数据,例如停留时间、跳出率等
  • 对用户的特征刻画比较准确,如所在地、年龄等

缺点

  • 信息安全、站点隐私
  • 看不到非浏览器加载的请求、禁用js的请求、被用户浏览器插件/安全策略屏蔽掉的请求
  • 通常有使用限制,例如不能定期发送邮件报告等,只能登陆到其站点上才能看数据
  • 页面相对不够简洁,站点访问过程中增加了很多HTTP请求,可能影响用户体验

自行设计存储、分析方案

简单说,就是每处理一个页面请求,就在后台记录一条包含ip、ua、referer等字段的数据,然后用于分析。大公司的系统应该都有类似的、更复杂的设计。

优点

  • 信息全面,不会遗漏关心的数据,且只包含通常关心的页面浏览数据
  • 数据安全
  • 容易定制,拓展伸缩性强,可满足各类个性化需求,可灵活使用数据,如每日自动发报告邮件等

缺点

  • 技术门槛高,开发、维护等
  • 后台增加了处理过程,至少一条insert,略微降低响应速度
  • 难以在会话层面进行分析
  • 使用的IP数据库等没有专业厂商的准确

设计与展示

以下是正在设计中的一个方案:

数据存储:

数据存储格式

一些分析表格:

24小时时段分析

OS、浏览器交叉分析

IP统计

-- EOF --

本文最后修改于1年前 (2019-05-17)

差评不太行一般挺好非常不错 (No Ratings Yet)
读取中...
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址