接口响应慢处理总结(Java)
接口慢原因
接口慢可以从几个方面进行排查:
- 是否有比较耗时的sql
- 接口中是否请求了其它系统
- 应用代码里是否有比较耗时的逻辑
- 框架问题
- 数据库服务器过载
是否有比较耗时的sql
sql问题是最常见的原因,一般从以下几个方面进行排查:
- sql效率问题
增删改一般没有什么效率问题,多在查询sql上。直接在库里执行sql,查看执行时间。
sql查询语句如果涉及的表数据量比较大,或者关联表较多,比较复杂,都需特别注重性能测试。最好能在生产库中执行下sql查询语句。 - sql循环调用
这个也比较常见:在循环中写了sql,多次开启数据库连接session,速度肯定也快不了。如果接口过于复杂,一个接口里sql特别多,也容易出现速度慢问题。
尽量避免在代码中循环调用sql。 - 数据量过大导致sql慢
这个很好理解,大批量新增数据时容易出现。
接口中是否请求了其它系统
这种情况,很可能是其它系统响应速度慢造成。接口中如果涉及外对象,一定要在日志中记录好1)请求地址;2)请求报文;3)响应报文;4)发起请求前后的时间(日志框架会在记录请求和响应报文时,自动记录时间)
应用代码里是否有比较耗时的逻辑
这种情况比较少,一般对大对象进行排序、多重循环等操作容易造成明显的速度下降。代码中如果有双重或多重循环,开发人员应引起足够重视。
框架问题
使用mybatis时遇见过一次。当时把sql摘出来在数据库工具中执行秒出,上了生产环境后要1分半。后来通过这篇文章解决了问题:https://blog.csdn.net/weixin_41914928/article/details/121017367?spm=1001.2014.3001.5506
数据库服务器过载
数据库服务器性能较差,执行sql时间不稳定,有时10s,有时20s。对centos系统,使用top命令查看CPU和内存消耗情况。对Suse操作系统,使用topas命令查看。
接口响应慢处理总结(Java)相关推荐
- java接口经常变动前端怎么办_Java进程故障排查(CPU资源占用高,接口响应超时,功能接口停滞等)...
故障分析 # 导致系统不可用情况(频率较大): 1)代码中某个位置读取数据量较大,导致系统内存耗尽,进而出现Full GC次数过多,系统缓慢: 2)代码中有比较消耗CPU的操作,导致CPU过高,系统运 ...
- Java线上问题排查系列--后端接口响应慢的排查方法及解决方案
原文网址:Java线上问题排查系列--后端接口响应慢的排查方法及解决方案_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Java后端接口响应慢的排查的方法以及如何解决. 如何发现接口响应慢了? ...
- Java通用接口响应封装类
Java接口响应封装类 Web开发中,前后分离是个趋势,现在大部分公司研发部门已经在走前后分离的路子了,前后分离开发各司其职能够有效的提高工作效率和开发质量. REST接口会返回各种各样的数据,如果对 ...
- java 监控 m_Java接口响应超时监控
为什么要监控 服务化接口是提供服务的,接口正确性.稳定性是最最重要的,在保证正确的同时需要尽量提高接口响应时间. 有的团队会有专门的工具来对系统响应时间.吞吐量做监控,但如果团队没有这种"待 ...
- 如何快速定位接口响应慢问题
如何快速定位接口响应慢问题 一.背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧- 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 . 二. ...
- java响应式编程有几种方式_什么是响应式编程,Java 如何实现
什么是响应式编程,Java 如何实现 我们这里用通过唯一 id 获取知乎的某个回答作为例子,首先我们先明确下,一次HTTP请求到服务器上处理完之后,将响应写回这次请求的连接,就是完成这次请求了,如下: ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- 接口响应时组装响应json_企业实战之spring项目《接口响应体格式统一封装》
前言 在之前的文章中我们有介绍过,如何更好.更简单的写好一个接口(接口返回值篇),今天的这篇文章我们主要介绍,怎么统一处理下接口的返回格式问题. 问题分析 我们先来分析下我们所面临的问题在哪里,然后接 ...
- WebApi接口 - 响应输出xml和json 转
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- python接口测试非json的断言_荐在接口自动化测试中,如何利用Pytest + JSONPath 进行接口响应断言...
之前有一篇文章,介绍了如何使用JSONSchema对接口响应进行断言,主要的适用场景是对响应的数据结构进行校验,保证客户端收到的数据结构稳定和合法.今天,介绍使用JSONPath对接口响应的值进行断言 ...
最新文章
- 基于SSH实现健身俱乐部管理系统
- 项目: flappy bird
- 纯CSS实现提示框小三角
- MySQL(一)MySQL基础介绍
- php-常量、运算符
- matlab swt函数,matlab swt 函数出错
- 归并排序概念及其实现
- 自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录
- Js中RegExp对象
- 阿里20周年年会散场后,6万人会场无一片垃圾,保洁阿姨都无瓶可捡了
- kubernetes集群应用部署实例
- 文件读写’r'和’rb’区别
- mysql 查询 一天的时间_MySQL怎么查询每天打卡的最早时间和最晚时间?
- Jconsole使用实例解说
- 软盘镜像_软盘表示保存,还有14个其他老人图标不再有用
- python调用海康人脸相机登录等接口(开发环境Linux)
- 二分+秦九韶算法 求凸点
- 边境的悍匪—机器学习实战:第三章 分类
- 利用TODA进行ORACLE数据快捷导入导出
- Linux常用命令——rlogin命令