上面写着的话
其实你的网站不卖任何东西,但是网站上的所有内容都到达了用户,自然就有了“用户体验”这个词。 说到用户体验,它给人的第一印象总是:具体,具有强烈的主观意识; 它无法量化。 不好的用户体验,或者更好的竞争对手体验,你所有的尖端技术、品牌营销等都很难带来用户的二次访问。 如何提升用户体验见仁见智,但“快”的用户体验早已成为开发者和用户的共识。 我们无法让一切都快速进展。 在浏览器端,通常通过浏览器缓存、合并资源、使用CDN等方式来提高性能。 本文将通过几个简单而真实的例子,不是从小型网站架构或者分布式系统的宏观角度,而是从用户行为数据的微观角度,通过分析用户行为数据来实现“快速”的用户体验。 提出了几条有针对性的优化建议,其中大部分是从后端开发的角度出发的。 在文章的最后我还会推荐一些对我有启发的书籍。
如果您觉得这篇文章还不错,欢迎点赞; 限于本文作者水平,难免有错误和不足之处,欢迎大家批评指正,敬请谅解; 其实也欢迎大家加我沫沫(768838557),名字很难记。
画像的前提是记录用户行为数据
用户行为分析的前提是对用户行为的记录。 如右图所示,记录了三个用户的用户记录,用户可以看到进入页面、跳出页面、浏览页数、错误数和响应时间。 。 。
用户行为数据记录
用户行为需要记录哪些数据
用户记录包含什么内容? 用户记录对于数据分析非常重要,可以让程序员定位bug或者性能问题,也可以检查用户体验,甚至可以用于广告分析数据分析和用户衰退模型的构建。
一般来说,需要默认录制:
会话持续时间
用户在页面停留多长时间,如果不到5s就结束,用户可能是网卡或者体验不好导致用户流失、卸载
用户所在省市、版本
不同的版本通常对应不同的功能。 这里可能是某个产品或者一段时间内在某个城市推出的特定功能的测试。
用户轨迹
不同页面(路径)上的不同行为,通常包括:
页面切换(从A—-》B)、页面停留时长,这里可以获取页面的跳入率、最热门页面等。
页面的行为还可以包括:单击按钮、选项卡前的某个标题。
用户会话列表
事实上,它还可能包含运营商等其他信息。
下面我们开始用真剑举个栗子
这里我们举几个栗子来说明一些事情,用户搜索体验不佳、网站性能提升和产品优化的反例
反例一:用户搜索体验较差
例如,用户跳出了跳出率较高的页面,通过跟踪链接,可以点击span进入,发现用户还在搜索
用户页面上的用户行为
反例2存在阻塞影响用户交互时间
链接跟踪用户行为
性能分析及几个优化建议反例
再举几个反例,整个站点的资源加载率也能反映出很多问题。 在举例之前程序猿访问网站有记录吗,我们先提出几个不同的问题
网站绩效指标
产品优化
如右图所示,您可以看到最受关注的页面,访问频率为:首页 > 群组页面 > 项目列表页面 > 统计页面 > 登陆页面
找到 1
其中,登陆页面的页面加载时间最短,首页加载时间最长
优化建议
将部分资源加载或功能插件转移至落地页程序猿访问网站有记录吗,减少首页加载时间
网站绩效指标
发现2/组页面访问率比较高,但页面持续时间较长(见上图)
查找页面上所有与该群组相关的链接,发现该群组主要按照顺序做了以下事情
用户行为背后的链接展示
第一步ajax
首先后端请求前端查询前端socket获取组详细信息
第二步ajax完成请求后,资源加载完毕
资源加载7 js,资源加载解析,这里可以看到缓存了一些静态资源,所以有些文件的duration为0,但是可以明显看到asset.js阻塞了页面交互
图片、字体文件等静态资源加载,耗时约50ms
3、获取前端数据、我的分组等socket
优化建议
1、资源加载和ajax请求同时发起或者提前资源加载,提前加载静态文件并解析执行,这样后续的js请求和其他资源加载也会提前
2、合并ajax请求,同时发出请求或者将多个请求与更多业务相关的socket合并为一个请求。
推荐书籍
《大型网站性能从后端、网络、CDN到前端的性能优化解读,大促》
《大型网站技术架构核心原理及案例分析》