接口性能优化

1.批量操作数据库

2.异步执行,降低接口耗时,可以使用线程池或消息队列。

3.使用缓存,把要查的数据,提前放好到缓存里面,需要时,直接查缓存,而避免去查数据库或者计算的过程。

4.提前初始化到缓存,避免一些复杂的计算的耗时。

5.池化思想,使用线程池,重复利用线程,避免不必要的耗时。

6.拒绝阻塞等待。

7.远程调用由串行改为并行。

8.锁粒度避免过粗,影响接口性能。

9.压缩传输内容。

10.数据太大,先用文件的方式暂存,之后再异步下载文件,慢慢保存到数据库。

11.SQL添加索引

12.SQL优化

  • 12.1 selet具体字段
  • 12.2 多用limit
  • 12.3 用union all替换 union
  • 12.4 优化group by
  • 12.5 优化order by
  • 12.6 小表驱动大表
  • 12.7 字段类型使用合理
  • 12.8 优化linit分页
  • 12.9 exist& in的合理利用
  • 12.10 join关联的表不宜过多
  • 12.11 delete+in自查询不走索引
  • 12.12 in元素不要过多

13.使用@Transactional

14.深分页问题

15.优化程序结构

16.海量数据考虑NoSQl

17.合理的线程池设计

18.机器问题(fullGC,线程打满,太多IO资源没关闭等等)

参考:用了这18种方案,接口性能提高了100倍! - 掘金

相关推荐
程序猿编码17 小时前
纯 C++ 手写 LLM 推理引擎:分页 KV 缓存、连续批、多卡张量并行全部内置
c++·深度学习·缓存·大模型推理·自动微分·模型推理
code2cat17 小时前
【随笔】RAG检索缓存:复用证据之前,先把权限和版本放进缓存键
java·人工智能·缓存·知识库·rag
牧瀬クリスだ21 小时前
Redis五大数据类型全解析:从入门到实战
java·数据库·redis·后端·缓存
讯捷蓝达1 天前
HPE Nimble CS3000存储,断电恢复后,双控缓存异常,存储卷无法正常启动
缓存
Lucis__1 天前
Redis持久化机制解析
redis·缓存·操作系统·文件·非关系型数据库·1024程序员节
李纲明1 天前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
码士集团小青2 天前
面霸篇:高频 Java 基础问题(核心卷一)
linux·服务器·数据库·redis·缓存·1024程序员节
一条泥憨鱼2 天前
【Redis | 黑马点评】附近商铺功能源码解读
数据库·redis·缓存
小南家的青蛙2 天前
Redis的资料
redis·缓存·1024程序员节
深圳市恒星物联科技有限公司2 天前
排水管网监测后期运维成本高吗?成本构成与控制策略分析
运维·缓存