性能优化学习

一、明确优化目标

提升吞吐量还是相应速度。

二、性能优化的指标

1) 平均响应时间

服务接口的平均处理能力。

向某个网站发送n次请求,n次请求相应时间除以n得到的时间。 短时间请求慢,然后又变好,平均响应时间无法反映出性能波动。

2)百分位数

应用接口的整体相应情况

超过 N% 的请求都在 X 时间内返回。比如 TP90 = 50ms,意思是超过 90% 的请求,都在 50ms 内返回。

TP50、TP90、TP95、TP99、TP99.9 等多个段,对高百分位的值要求越高,对系统响应能力的稳定性要求越高。

3)并发量

指的是系统能够同时处理的请求数量,反映的是系统的负载能力。

4)秒开率

前端网页或者APP能够在1秒内很平滑的打开,尤其是首页的加载 超过3秒则用户可能直接退出不在使用,这里强调后端优化的同事,也需要对前端进行优化。

5)正确性

优化后的性能提高后,数据依旧要是正确的。

三、附言

1、除非必要,一开始不要优化(尤其是开发阶段)

2、有些优化准则已经过时,需要考虑当下的软硬件环境(不要墨守成规)

3、不要过分强调某些系统级指标,如cache 命中率,而应该聚焦性能瓶颈点

4、不盲从,测试、找到系统的性能瓶颈,再确定优化手段

5、注意权衡优化的成本和收益(有些优化可能需要现有架构做出调整、增加开发/运维成本)

6、优化的目标是用户体验、降低硬件成本(降低集群规模、不依赖单机高性能)

7、测试环境的优化手段未必对生产环境有效(优化需要针对真实情况)

四、相关实操

1、接口访问时间 qps jmeters接口压测

2、数据库访问时间 执行计划

3、cpu 内存 磁盘使用率 第三方监测工具 arths

相关推荐
xy_recording18 分钟前
Day20 K8S学习
学习·容器·kubernetes
Lynnxiaowen19 分钟前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
qq_1728055943 分钟前
Go 装饰器模式学习文档
学习·golang·装饰器模式
自强的小白2 小时前
vlan(局部虚拟网)
网络·学习
一只乔哇噻3 小时前
java后端工程师进修ing(研一版 || day41)
java·开发语言·学习·算法
知识分享小能手3 小时前
React学习教程,从入门到精通,React 使用属性(Props)创建组件语法知识点与案例详解(15)
前端·javascript·vue.js·学习·react.js·前端框架·vue
知识分享小能手9 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
茯苓gao12 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾12 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT13 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习