架构师的视角进行全链路系统性能的优化

简介: 一、前端优化前端的优化主要有三个环节:减少请求次数、页面静态化、边缘计算减少请求次数:减少前端脚本与后端服务的请求次数,有三种方案(1)增加缓存控制:前端开发经常设置HTML的缓存控制头部(Cache-Control头),这样浏览器在请求同一个文件的时候,只访问本地保存的资源副本,从而加速文件的访问速度。

一、前端优化

前端的优化主要有三个环节:减少请求次数、页面静态化、边缘计算

减少请求次数:减少前端脚本与后端服务的请求次数,有三种方案

(1)增加缓存控制:前端开发经常设置HTML的缓存控制头部(Cache-Control头),这样浏览器在请求同一个文件的时候,只访问本地保存的资源副本,从而加速文件的访问速度。

(2)减少图像的请求次数:大部分网站会将所用到的多张图片拼成一张,这样多张图片只需要下载一次,然后再通过CSS中的background-image和background-position来定位目标位置选择显示哪一张图片。

(3)减少脚本的请求次数:通用的做法是CSS压缩和JavaScript压缩,将多个文件压缩成一个,目的是减少传输文件的大小,而更重要的是减少请求数。

页面静态化:页面静态化是缓存的一种方式,相当于把整个页面元素缓存起来。通常是将页面文件事先存储到CDN节点中,比如将商品详情页做静态化,就是将商品详情页的页面元素存储在CDN节点,然后所有请求就可以直接由CDN来提供服务,就不会打到后端服务了,这样就减少了对后端服务的压力。

边缘计算,因为大数据处理的实时性越来越高,由集中式的服务系统提供实时性的计算能力捉襟见肘,所以将计算能力放到距离用户最近的CDN节点中,这就要求原有的CDN节点不只作为静态资源文件的缓存,还要提供可以定制化的计算能力。例如无服务架构Serverless、BaaS、FaaS。

二、后端优化

后端环节的性能问题,可以从基础设施层面、网络层面、架构层面三个角度进行考量。
image.png

架构师的视角进行全链路系统性能的优化
网络层面可以考虑网络专线、CDN 优化;架构层面可以考虑动静分离、集群优化、数据隔离、服务拆分、异步驱动、负载均衡等方案。

三、如果要设计一个高性能的架构,至少要有以下四个系统设计的思考步骤。

(1)明确指标: 比如当系统小于 100 万并发用户时,要保证系统的 RT = 2s 。

(2)保护系统: 当系统的并发用户数量超过 100 万,要做到保证有 100 万用户的 RT= 2s ,然后保护系统,并拒绝其他用户的连接请求。

(3)用户体验: 为了用户体验,要给系统承载容量外的用户提供优雅的体验,比如服务器排队机制,并附加具体、明确的信息提示。

(4)快速扩容: 现在系统的性能指标有一点就是贵在快速反应,比如出现流量压力时,可以在 3 分钟内完成扩容,并保证扩容后能承载的并发用户数量的 RT = 2s。

四、高性能架构的落地工作,需要分为以下三个关键技术点。

(1)做好系统限流: 通过流量控制来保证系统的稳定性。当实际并发压力超过系统性能设计指标的时候,就拒绝新的请求的连接,让用户进行排队。

(2)做好快速扩容: 对于扩容能力,一般要储备额外的计算资源,用于不时之需,也就是事先通过预估留出一部分资源池。另一个关键因素是系统的扩容速度。

(3)做好系统优化: 就是上面的前后端优化的技术点,同时性能设计要贯穿于系统建设的始终。对于性能设计(不仅仅是性能设计,所有非功能性的设计)要在项目的各阶段都进行考虑,以便根据项目过程的推进随时进行调整和优化。

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
9天前
|
消息中间件 存储 缓存
十万订单每秒热点数据架构优化实践深度解析
【11月更文挑战第20天】随着互联网技术的飞速发展,电子商务平台在高峰时段需要处理海量订单,这对系统的性能、稳定性和扩展性提出了极高的要求。尤其是在“双十一”、“618”等大型促销活动中,每秒需要处理数万甚至数十万笔订单,这对系统的热点数据处理能力构成了严峻挑战。本文将深入探讨如何优化架构以应对每秒十万订单级别的热点数据处理,从历史背景、功能点、业务场景、底层原理以及使用Java模拟示例等多个维度进行剖析。
30 8
|
16天前
|
监控
SMoA: 基于稀疏混合架构的大语言模型协同优化框架
通过引入稀疏化和角色多样性,SMoA为大语言模型多代理系统的发展开辟了新的方向。
29 6
SMoA: 基于稀疏混合架构的大语言模型协同优化框架
|
2天前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型演进与经典架构
本文探讨了AI计算模式对AI芯片设计的重要性,通过分析经典模型结构设计与演进、模型量化与压缩等核心内容,揭示了神经网络模型的发展现状及优化方向。文章详细介绍了神经网络的基本组件、主流模型结构、以及模型量化和剪枝技术,强调了这些技术在提高模型效率、降低计算和存储需求方面的关键作用。基于此,提出了AI芯片设计应考虑支持神经网络计算逻辑、高维张量存储与计算、灵活的软件配置接口、不同bit位数的计算单元和存储格式等建议,以适应不断发展的AI技术需求。
13 5
|
2天前
|
消息中间件 运维 Cloud Native
云原生架构下的微服务优化策略####
本文深入探讨了云原生环境下微服务架构的优化路径,针对服务拆分、通信效率、资源管理及自动化运维等核心环节提出了具体的优化策略。通过案例分析与最佳实践分享,旨在为开发者提供一套系统性的解决方案,以应对日益复杂的业务需求和快速变化的技术挑战,助力企业在云端实现更高效、更稳定的服务部署与运营。 ####
|
14天前
|
存储 NoSQL 分布式数据库
微服务架构下的数据库设计与优化策略####
本文深入探讨了在微服务架构下,如何进行高效的数据库设计与优化,以确保系统的可扩展性、低延迟与高并发处理能力。不同于传统单一数据库模式,微服务架构要求更细粒度的服务划分,这对数据库设计提出了新的挑战。本文将从数据库分片、复制、事务管理及性能调优等方面阐述最佳实践,旨在为开发者提供一套系统性的解决方案框架。 ####
|
10天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
55 4
|
21天前
|
前端开发 安全 关系型数据库
秒合约系统/开发模式规则/技术架构实现
秒合约系统是一种高频交易平台,支持快速交易、双向持仓和高杠杆。系统涵盖用户注册登录、合约创建与编辑、自动执行、状态记录、提醒通知、搜索筛选、安全权限管理等功能。交易规则明确,设有价格限制和强平机制,确保风险可控。技术架构采用高并发后端语言、关系型数据库和前端框架,通过智能合约实现自动化交易,确保安全性和用户体验。
|
23天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
62 1
|
1月前
|
监控 API 开发者
后端开发中的微服务架构实践与优化
【10月更文挑战第17天】 本文深入探讨了微服务架构在后端开发中的应用及其优化策略。通过分析微服务的核心理念、设计原则及实际案例,揭示了如何构建高效、可扩展的微服务系统。文章强调了微服务架构对于提升系统灵活性、降低耦合度的重要性,并提供了实用的优化建议,帮助开发者更好地应对复杂业务场景下的挑战。
22 7
|
30天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
52 4
下一篇
无影云桌面