高性能实践

1、认识性能

从用户体验来看,性能就是响应时间短;

从开发角度来看,性能主要是执行效率高。

性能主要表现形式如下:

(1)响应时间,AVG、MAX、MIN、TP95、TP99

(2)吞吐量,QPS、TPS

(3)资源利用率,CPU、内存、网络IO、磁盘IO

(4)错误率

2、影响性能的常见问题

2.1 业务代码问题

(1)扩大数据库查询范围,原本只需要查询少量数据,却使用了大而全的查询

(2)对没有前后依赖的业务逻辑,用串行实现

(3)随意输出日志,拖慢程序性能

2.2 外部依赖问题

(1)下游服务性能较差

(2)Redis结点配置不足

(3)跨地域

2.3 基础组件问题

(1)使用懒加载lazy-init,导致第一次访问响应时间长

(2)线程池滥用,导致内存和CPU负载过高

3、性能提升策略

(1)串行改为并行处理

(2)同步改为异步处理

(3)每次都执行改为结果缓存,以空间换时间

(4)查询最少数据,避免数据传输压力

(5)合并多次查询,避免多次查询造成性能下降

(6)分页查询

(7)延迟加载

相关推荐
桦说编程14 小时前
你的函数什么颜色?—— 深入理解异步编程的本质问题(上)
后端·性能优化·编程语言
JackyRoad16 小时前
Prometheus-Grafana-vLLM监控实战指南
性能优化·grafana·监控
是梦终空4 天前
React Native 性能优化指南
react native·性能优化
侑虎科技5 天前
在UE5中,预测脚步IK实现-PredictFootIK
性能优化·unreal engine
bluceli7 天前
前端性能优化实战指南:让你的网页飞起来
前端·性能优化
冰_河7 天前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
叶智辽9 天前
【Three.js内存管理】那些你以为释放了,其实还在占着的资源
性能优化·three.js
BigByte10 天前
我用 6 个 WASM 编码器干掉了 Canvas.toBlob(),图片压缩率直接提升 15%
性能优化·webassembly·图片资源
DemonAvenger11 天前
Kafka性能调优:从参数配置到硬件选择的全方位指南
性能优化·kafka·消息队列
桦说编程11 天前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化