分布式服务性能调优

1.缩减事务范围,事务大,提交事务、回滚时缓慢,

2.去掉查库,改为查询缓存,远程缓存缓慢时,切换为本地缓存。

3.接口只进行读取操作,职责单一

4.调用外部多个接口,采用线程池并行,同时对每个请求采取超时控制

5.查询结果进行缓存,但大多数接口结果各不相同,这时可以对局部方法结果进行缓存。

6.更新操作采取主键

7.机房垂直调用

8.优化jvm参数,减少stoptheworld次数和时间

9.将定时任务、MQ消费等重io操作单独提出来

10.分批操作,比如10000条数据,分成100份分批请求

11.非主线逻辑异步化,通过mq、事件、线程。

12.更新缓存等操作,采取binlog方式

13.sql优化,防止多子查询、链接查询、跨库查询、非索引查询等

14.预先计算,当性能不达标时,采取提前计算结果,直接返回的方式,延迟较大!

15.方法层面提高,比如在大数据量时,采取更优的算法,比如取交集,采用hashSet方式更快,不要进行嵌套for循环

16.在多次调用时,提供批量方法,不要循环调用。

17.方法层面提高,上文查询过得方法,下文不断继续查询多次。要提高数据的利用率。

你可能感兴趣的:(缓存,数据库,redis)