使用springboot开发后台代码的时候,很核心的一个功能是为前端提供接口,那么很可能你会遇到如下问题:
1. 接口里面调用的service层是第三方库或者第三方后台程序,导致访问很慢。
2. 接口需要轮询,或者参数较多的情况下导致返回慢。希望可以帮到您!
在接口调用方法逐行加日志,然后分析耗时长的原因呗,是否在调用前和调用后又insert日志流水到数据库?是否有更新数据库的 *** 作?是否存在第三方认证相关的过滤器?是否存在不必要的过滤器?这些 *** 作都有可能存在性能瓶颈,性能调优的方法一般也就是定位瓶颈代码,然后优化导致速度慢的代码。一般要考虑的事情包括:设计三种状态:待校验、校验中、校验完成。(也可能需要把校验完成掰成校验失败和校验正确两种,你自己看)
启动校验时,3W条list的同步状态初始化为“待校验”
激活一组并发的多线程,比如100个。每个进程的动作:
找到一条“待校验”的行、标记“校验中”状态、填如NO发起请求、处理请求结果
如果超时,可以重试(适合于网络拥堵、服务器忙不过来100个的情况),也可以放弃该NO弄下一个(适合于对端3W个数据也不整齐的情况)
如果没超时,则解析返回数据:
格式解析失败,比如服务器来个 http 500,那肯定该次请求歇菜了。可以重试,也可以放弃该NO弄下一个。要不要记录状态你自己看
解析成功:标记“校验完成”状态,然后循环下一个
如果没找到“待校验”的行,则该路处理线程结束
有一处负责处理各路进程的工作收尾
各路进程都完成以后,记录日志,收拾现场,打印报告
如果服务器端平均能支持到100个并发的话,则有望在几分钟完成
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)