spring有时候某个接口特别慢

spring有时候某个接口特别慢,第1张

spring有时候某个接口特别慢

使用springboot开发后台代码的时候,很核心的一个功能是为前端提供接口,那么很可能你会遇到如下问题:

1. 接口里面调用的service层是第三方库或者第三方后台程序,导致访问很慢。

2. 接口需要轮询,或者参数较多的情况下导致返回慢。希望可以帮到您!

在接口调用方法逐行加日志,然后分析耗时长的原因呗,是否在调用前和调用后又insert日志流水到数据库?是否有更新数据库的 *** 作?是否存在第三方认证相关的过滤器?是否存在不必要的过滤器?这些 *** 作都有可能存在性能瓶颈,性能调优的方法一般也就是定位瓶颈代码,然后优化导致速度慢的代码。

一般要考虑的事情包括:

设计三种状态:待校验、校验中、校验完成。(也可能需要把校验完成掰成校验失败和校验正确两种,你自己看)

启动校验时,3W条list的同步状态初始化为“待校验”

激活一组并发的多线程,比如100个。每个进程的动作:

找到一条“待校验”的行、标记“校验中”状态、填如NO发起请求、处理请求结果

如果超时,可以重试(适合于网络拥堵、服务器忙不过来100个的情况),也可以放弃该NO弄下一个(适合于对端3W个数据也不整齐的情况)

如果没超时,则解析返回数据:

格式解析失败,比如服务器来个 http 500,那肯定该次请求歇菜了。可以重试,也可以放弃该NO弄下一个。要不要记录状态你自己看

解析成功:标记“校验完成”状态,然后循环下一个

如果没找到“待校验”的行,则该路处理线程结束

有一处负责处理各路进程的工作收尾

各路进程都完成以后,记录日志,收拾现场,打印报告

如果服务器端平均能支持到100个并发的话,则有望在几分钟完成


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9941572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存