主要观点总结
文章主要介绍了优化接口性能的方法,包括索引优化、SQL优化、远程调用优化、数据异构、避免重复调用、异步处理、避免大事务、锁粒度优化、分页处理、加缓存、分库分表、开启慢查询日志、加监控和链路跟踪等。这些方法涵盖了从基础优化到高级优化,从简单到复杂,从单一到综合的多个方面,为后端开发人员提供了全面的接口性能优化指导。
关键观点总结
关键观点1: 索引优化
包括添加索引、检查索引是否生效、选择正确的索引等。
关键观点2: SQL优化
介绍了15个SQL优化技巧,提高SQL查询效率。
关键观点3: 远程调用优化
提出了并行调用和数据异构两种优化远程接口性能的方法。
关键观点4: 数据异构
通过将数据冗余到Redis等缓存中,减少数据库访问次数。
关键观点5: 避免重复调用
包括避免循环查数据库、避免死循环和无限递归等。
关键观点6: 异步处理
介绍了使用线程池和消息队列(MQ)实现异步处理的方法。
关键观点7: 避免大事务
提出了减少使用@Transactional注解、将查询方法放到事务外等策略。
关键观点8: 锁粒度优化
包括synchronized、redis分布式锁和数据库分布式锁的使用和优化。
关键观点9: 分页处理
介绍了同步调用和异步调用两种分页处理方法。
关键观点10: 加缓存
提供了使用Redis缓存和二级缓存(如Caffeine)的方案。
关键观点11: 分库分表
介绍了分库分表的作用和两种分库分表的方式。
文章预览
前言 接口性能优化 对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题。 该问题说简单也简单,说复杂也复杂。 有时候,只需加个索引就能解决问题。 有时候,需要做代码重构。 有时候,需要增加缓存。 有时候,需要引入一些中间件,比如mq。 有时候,需要需要分库分表。 有时候,需要拆分服务。 等等。。。 导致接口性能问题的原因千奇百怪,不同的项目不同的接口,原因可能也不一样。 本文我总结了一些行之有效的,优化接口性能的办法,给有需要的朋友一个参考。 1.索引 接口性能优化大家第一个想到的可能是: 优化索引 。 没错,优化索引的成本是最小的。 你通过查看线上日志或者监控报告,查到某个接口用到的某条sql语句耗时比较长。 这时你可能会有下面这些疑问: 该sql语句加索引了没?
………………………………