常见性能优化策略

对于经常接触高并发服务的同学来学,会经常涉及到性能优化,但是由于平时很少总结,内容会比较分散,这里简单做一些总结

1:空间换时间

比如一些数据的访问需要很快返回结果,原本在磁盘上的数据,需要放到内存里面。

再比如为了能快速超找定位一些数据,我么会设计一些hash类的数据结构,提高查找效率

另外和这个相反的就是时间换空间,当然这种一般就不是高性能服务的常用方法,比较典型的就是使用压缩算法了。

2:并行/异步处理

并行一般是多线程/多进程/多协程来协作处理,提高并发度,提高qps,或者减少请求 处理时间。

异步通常比同步/阻塞的方式要快,也不会比协程慢,但是会增加一些代码的理解难度

3:预先/延后处理

比如提前读取数据,使用的时候能快速返回,不用再去读取,属于预先处理

延后处理,比如copy on write,典型的是c++ string的实现,属于写时拷贝。

4:缓存/批量合并

常见的cpu缓存,cdn缓存,程序中的LRU缓存,都属于一种缓存技术吧

批量合并,典型的是查询数据,一次可以执行多条命名,如redis的mget,pipeline等

5:算法和数据结构

算法这个就比较好理解了,n次方的算法事件复杂度和O(n)的算法复杂度,执行时间差异还是非常明显的

数据结构,比如什么场景适合用vector/list,什么场景适合用map/hash_map这也非常重要,需要熟悉每种数据结构的原理,知道起操作的时间复杂度,来选择合适的数据结构

相关推荐
爱喝水的鱼丶1 小时前
SAP-ABAP:SAP基础数据校验工具开发系列博客(共5篇)第五篇:性能优化与上线运维:保障高并发场景下的工具稳定运行
运维·学习·性能优化·sap·abap·erp·经验交流
ct9788 小时前
Vue 项目性能优化
前端·vue.js·性能优化
YJlio8 小时前
OpenClaw 2026.5.2 Beta 更新解读:外部插件安装、ClawHub / npm 切换与 Gateway 性能优化
性能优化·npm·gateway·飞书·多维表格·飞书aily·飞书妙搭
YanDDDeat8 小时前
MySQL性能排查,慢查询导致CPU飙高的完整记录
mysql·安全·性能优化
南一Nanyi1 天前
性能优化的方法论
前端·性能优化
SilentSamsara1 天前
缓存策略实战:Redis + Python 多级缓存设计与失效策略
开发语言·redis·python·缓存·性能优化
wb043072011 天前
外卖大战——从阿明的“3 秒生死线“,看系统性能优化的全链路方法论
开发语言·性能优化·架构·php
189228048611 天前
NV041固态MT29F16T08GSLCEM9-QBES:C
人工智能·算法·microsoft·缓存·性能优化
qq_452396231 天前
第十八篇:《Docker 监控与性能优化》
docker·容器·性能优化
lulu12165440781 天前
2026年-企业级大模型API网关实战指南: 微元算力聚合平台性能优化实测
java·人工智能·spring·性能优化·ai编程