高性能实践

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

相关推荐
新*10 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
疯华整猫16 小时前
把二十七个 init 从首帧前面搬走:用 Trae 把启动优化钉进 CI
android·性能优化·ai编程
数据库小学妹1 天前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
贾伟康1 天前
【共创稿事节】HarmonyOS 7.0 Progress进度体系:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
疯华整猫2 天前
我用 Trae 把 Android 内存账重算了一遍
android·性能优化·源码
寂寞的船5 天前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
Flynt5 天前
内存省16倍的Lightpanda实测:数字是真的,但并发代码要重写
性能优化·开源·agent
OpenAnolis小助手5 天前
RISC-V 基础软件的工程化与性能优化实践
性能优化·操作系统·龙蜥社区·risc-v
程序员吕洞宾6 天前
开源多维表格SmartTable v1.6.10 —— 用户名登录、数据评论及@人、表单分享二维码、性能优化、部署及升级优化
spring·性能优化·开源
余槐i6 天前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化