高性能实践

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)延迟加载

相关推荐
颜如玉20 小时前
HikariCP:Dead code elimination优化
后端·性能优化·源码
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
Pu_Nine_92 天前
深入理解节流(Throttle):原理、实现与应用场景
javascript·性能优化·es6·节流·lodash 库
文人sec3 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
鼠鼠我捏,要死了捏3 天前
RocketMQ 高可用集群原理深度解析与性能优化实践指南
性能优化·消息队列·rocketmq
李游Leo3 天前
JavaScript事件机制与性能优化:防抖 / 节流 / 事件委托 / Passive Event Listeners 全解析
开发语言·javascript·性能优化
不想被吃掉氩3 天前
MySQL的性能优化。
数据库·mysql·性能优化
DemonAvenger3 天前
数据库日志系统深度解析:从binlog到redo/undo日志的实践指南
数据库·mysql·性能优化
努力的小郑4 天前
MySQL索引(四):深入剖析索引失效的原因与优化方案
后端·mysql·性能优化
陈言必行4 天前
Unity 性能优化 之 静态资源优化 (音频 | 模型 | 纹理 | 动画)
unity·性能优化·游戏引擎