如何让接口性能提升?

1.池化思想

如果每次需要用到线程都去创建,就会增加一定的耗时,而线程池可以重复利用县城,避免不必要的耗时。再比如 TCP三次握手,他为了减少性能损耗,引入了Keep-Alive长连接,避免频繁的创建和销毁连接。

2.拒接阻塞等待

如果你调用一个系统的B接口,但是它处理业务逻辑,耗时需要10s甚至更多。如果一直阻塞等待,知道系统B的下游接口返回,在继续你的下一步操作,这很不合理。可以参考10多路复用模型。即我们不用阻塞等待系统B的接口,而是先去做别的操作,等系统B的接口处理完,通过事件回调通知,我们接口收到通知再进行对应的业务操作即可。

3.远程调用由串行改为并行

一个页面查询多种信息。如果是串行一个一个查,太耗时了,这种场景可以改为并行调用的,降低接口耗时。

4.锁粒度避免过粗

在高并发场景,为了防止超卖等情况,我们经常需要加锁来保护共享资源,但是,如果加锁的粒度过粗,很影响接口的性能。
不管是synchronzied加锁还是redis分布式锁,只需要在共享临界资源加锁即可,不涉及共享资源的,就不必要加锁。

5.提前初始化到缓存

预取思想很容易理解,就是提前把要计算查询的数据,初始化到缓存。

6.耗时操作,考虑放到异步执行

耗时操作,考虑用到一步处理,这样可以降低接口耗时,比如用户注册成功后,短信邮件通知,是可以异步处理的。

7.使用缓存

把查询的数据放到缓存中,需要时,直接从缓存中查找,而避免去查数据库耗时。

8.压缩传输内容

压缩传输内容,传输报文变得更小,因此传输会更快。

猜你喜欢

转载自blog.csdn.net/weixin_43431218/article/details/130029906