在Web页面整个生命周期中,占用更小的资源,以更快的速度运行。
Web页面生命周期的三个阶段:
加载阶段:指从发出请求到渲染出完整页面的过程
交互阶段:从页面加载完成到用户交互的整个过程
关闭阶段:用户发出关闭指令后页面所做的一些清理操作
性能是系统设计的标尺。
后端高并发系统的设计目标:高可用、高性能、高扩展
高并发:指系统能够同时处理多个请求,而不会出现性能下降或者系统崩溃。高并发系统能够有效地管理并发请求,确保每个请求都能得到及时处理。这通常涉及到多线程或多进程处理,以及对资源的合理分配和锁的管理,以避免竞争条件和死锁。
高可用:系统能够持续不间断地运行,即使面临硬件故障、软件故障、网络问题等异常情况也能保持服务。高可用系统通常具备以下特点:
高性能:能够在最短的时间内处理大量的请求,同时保持较低的延迟。性能通常与系统的响应时间和吞吐量有关:
高扩展:系统能够适应不断增长的工作负载,通过增加资源来应对更多的请求,而不会导致性能下降或服务质量降低。一个高扩展性的系统可以通过以下方式来实现:
要实现这些特性,后端系统需要采取一系列的技术和架构策略,例如使用负载均衡、数据库分片、读写分离、缓存策略、消息队列、服务拆分(微服务架构)、监控与自动化运维等。通过这些方法,系统能够提高性能、应对大量并发请求,并保证服务的持续可用性。
宏观上:在前端架构和产品能力上追求可扩展性
中观:关注易用性、稳定性、前端性能
微观上:注重选取适当的指标系统辅助我们衡量系统状态
在移动互联网时代,由于网络状态复杂,手机性能,网页无法多开,场景时间碎片化等等原因,抵达率成为影响转化率的一个重要因素。
性能优化是提高抵达率的最为关键的一个手段。
抵达率:搜索 =► 展现 =► 点击 =► 访问 =► 转化 =► 成交
用户能够正常访问页面,网页的内容才能产生价值。
加载时间越长跳失率越高,页面抵达率越低订单转化率越低。
以成长论:性能优化是前端工程师进阶的必要能力;
以技术论:性能优化是技术演进的源动力;
以价值论:性能优化会影响用户体验、业务跳失率,进而影响业务转化率。
首先,性能优化不能盲目,一定是问题导向的。脱离了问题,盲目的提早优化会增加系统的复杂度,浪费开发人员的时间。
其次,性能优化要遵守「二八原则」。可以用20%的精力解决80%的性能问题。
再次,性能优化要有数据支撑。在优化过程中需要数据验证优化手段是否有效,以及空间是多少。
最后,性能优化的过程是持续的。系统中出现的性能问题通常也会有多个方面的原因,因此在做性能优化的时候要明确目标。
设计一个度量系统至少需要以下环节:
维度:指事物的某种固有特征,或观察思考事物的分类角度。
原子指标:指表达业务含义的原子量化属性且不可再分的概念集合。
复合指标:维度+原子指标,原子指标经过四则运算。
度量周期:指标在时间维度上需要统计的前后跨度。
Performance
Lighthouse
页面加载阶段由渲染进程和网络进程协同完成的
长任务拆分
优化代码执行逻辑
耗时的计算任务移出主线程
控制面板
概览面板
性能面板
详情面板
Summary:统计各指标的时间占用
Bottom-Up:事件时长的排序列表,倒序的,可直接查看花费时间最多的活动。
Call Tree:事件调用的顺序列表,可直接查看导致最多根活动
Event Log:记录了期间的活动顺序
首先通过概览面板来定位问题的时间节点,然后再使用性能面板分析该时间节点内的性能数据,如果需要看详细的信息需要在详情面板中查看