接口性能优化

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倍! - 掘金

相关推荐
Pniubi15 小时前
力扣146.LRU缓存机制
算法·leetcode·缓存
欣栀♡17 小时前
Spring 循环依赖不止三级缓存,Boot 2.6 起这个开关默认已经关了
java·spring·缓存
我星期八休息21 小时前
Redis 的原理和使用(2)
前端·数据库·redis·python·mysql·缓存·bootstrap
Chenyu_3102 天前
DPDK、TC 和 XDP:Linux 高性能网络到底在优化什么
linux·服务器·网络·缓存
hflmwl83 天前
RedisDesktopManager安装包中文版官方下载,redis可视化客户端工具下载
数据库·redis·缓存·可视化客户端工具
一枕槐安4873 天前
大模型应用后端设计:上下文管理、缓存、降级策略的工程方案总结
java·spring·缓存
梦想平凡3 天前
棋牌游戏技术实战(十三):缓存对局历史时控制容量,命中以后仍然检查成员权限
游戏·缓存
我不会起名字3223 天前
Redis 从 0 到 1(十一):缓存穿透/击穿/雪崩三连击,Go 3 套防御代码
redis·缓存·go·布隆过滤器·雪崩
Chenyu_3103 天前
NUMA 基础:从 CPU、内存到 Node 的整体理解
linux·服务器·网络·缓存
土豆.exe3 天前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存