《大型网站技术架构》-读书笔记三:高性能架构
一、网站性能测试
1、开发人员视角的优化手段:
1)使用缓存加快数据读取
2)使用集群提高吞吐能力
3)使用异步消息加快请求响应及实现消峰
4)代码优化手段改善程序性能
2、性能测试指标
1)响应时间:是系统最重要的性能指标,直观的反映了系统的“快慢”
2)并发数:指系统能够同时处理请求的数目,这个数字也反映了系统的负载特性。对网站而言,并发数及网站并发用户数
3)吞吐量:指单位时间内系统处理的请求数量,体现系统的整体处理能力。指标有TPS/QPS/HPS
4)性能计数器:描述服务器或操作系统的一些数据指标,包括system load(系统负载),对象与线程数,内存使用,CPU使用,磁盘与网络IO
3、性能测试方法
1)性能测试
2)负载测试
3)压力测试
4)稳定性测试
4、性能测试报告
5、性能优化
1)分析
2)优化
二、性能优化
1、Web前端性能优化:包括浏览器加载、网站视图模型、图片服务、CDN服务
(1)浏览器访问优化:
1)减少http请求:合并CSS,合并JavaScript,合并图片
2)使用浏览器缓存:设置HTTP头中的Cache-Control和Expres属性来设置浏览器缓存
使用浏览器缓存策略的网站在更新静态资源时,应该采用批量更新的方法,以免浏览器突然大量缓存失效,集中更新缓存,造成服务器
负载骤增、网络堵塞的情况。
3)启用压缩:在服务器端对文件进行压缩,在浏览器端对文件解压缩,可有效减少通信传输的数据量。
4)CSS放在页面最上端,Javascript放在页面最下端
5)减少cookie传输
(2)CDN加速:CDN能够缓存的是静态资源,如图片,文件,CSS,Script脚本,静态网页等,但这些文件访问频度很高,
将其缓存在CDN可极大改善网页的打开速度。
(3)反向代理
2、应用服务器性能优化:包括缓存,集群,异步
(1)分布式缓存:主要缓存读写比很高,很少变化的数据。
(2)异步操作:消息队列
(3)使用集群
(4)代码优化
1)多线程
2)资源复用:单例和对象池
3)数据结构:程序就是数据结构+算法
4)垃圾回收
3、存储性能优化
(1)机械硬盘与固态硬盘ssd
1)机械硬盘:快速顺序读写,慢速随机读写
2)ssd:持久记忆在硅晶体上,像内存一样快速随机访问
(2)B+tree与LSM树
1)B+tree:专门针对磁盘存储而优化的N叉排序树
2)LSM树:
(3)RAID与HDFS
1)RAID:廉价磁盘冗余阵列
2)HDFS:Hadoop分布式文件系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏