接口慢原因

  接口慢可以从几个方面进行排查:

  • 是否有比较耗时的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)相关推荐

  1. java接口经常变动前端怎么办_Java进程故障排查(CPU资源占用高,接口响应超时,功能接口停滞等)...

    故障分析 # 导致系统不可用情况(频率较大): 1)代码中某个位置读取数据量较大,导致系统内存耗尽,进而出现Full GC次数过多,系统缓慢: 2)代码中有比较消耗CPU的操作,导致CPU过高,系统运 ...

  2. Java线上问题排查系列--后端接口响应慢的排查方法及解决方案

    原文网址:Java线上问题排查系列--后端接口响应慢的排查方法及解决方案_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Java后端接口响应慢的排查的方法以及如何解决. 如何发现接口响应慢了? ...

  3. Java通用接口响应封装类

    Java接口响应封装类 Web开发中,前后分离是个趋势,现在大部分公司研发部门已经在走前后分离的路子了,前后分离开发各司其职能够有效的提高工作效率和开发质量. REST接口会返回各种各样的数据,如果对 ...

  4. java 监控 m_Java接口响应超时监控

    为什么要监控 服务化接口是提供服务的,接口正确性.稳定性是最最重要的,在保证正确的同时需要尽量提高接口响应时间. 有的团队会有专门的工具来对系统响应时间.吞吐量做监控,但如果团队没有这种"待 ...

  5. 如何快速定位接口响应慢问题

    如何快速定位接口响应慢问题 一.背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧- 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 . 二. ...

  6. java响应式编程有几种方式_什么是响应式编程,Java 如何实现

    什么是响应式编程,Java 如何实现 我们这里用通过唯一 id 获取知乎的某个回答作为例子,首先我们先明确下,一次HTTP请求到服务器上处理完之后,将响应写回这次请求的连接,就是完成这次请求了,如下: ...

  7. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  8. 接口响应时组装响应json_企业实战之spring项目《接口响应体格式统一封装》

    前言 在之前的文章中我们有介绍过,如何更好.更简单的写好一个接口(接口返回值篇),今天的这篇文章我们主要介绍,怎么统一处理下接口的返回格式问题. 问题分析 我们先来分析下我们所面临的问题在哪里,然后接 ...

  9. WebApi接口 - 响应输出xml和json 转

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  10. python接口测试非json的断言_荐在接口自动化测试中,如何利用Pytest + JSONPath 进行接口响应断言...

    之前有一篇文章,介绍了如何使用JSONSchema对接口响应进行断言,主要的适用场景是对响应的数据结构进行校验,保证客户端收到的数据结构稳定和合法.今天,介绍使用JSONPath对接口响应的值进行断言 ...

最新文章

  1. 基于SSH实现健身俱乐部管理系统
  2. 项目: flappy bird
  3. 纯CSS实现提示框小三角
  4. MySQL(一)MySQL基础介绍
  5. php-常量、运算符
  6. matlab swt函数,matlab swt 函数出错
  7. 归并排序概念及其实现
  8. 自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录
  9. Js中RegExp对象
  10. 阿里20周年年会散场后,6万人会场无一片垃圾,保洁阿姨都无瓶可捡了
  11. kubernetes集群应用部署实例
  12. 文件读写’r'和’rb’区别
  13. mysql 查询 一天的时间_MySQL怎么查询每天打卡的最早时间和最晚时间?
  14. Jconsole使用实例解说
  15. 软盘镜像_软盘表示保存,还有14个其他老人图标不再有用
  16. python调用海康人脸相机登录等接口(开发环境Linux)
  17. 二分+秦九韶算法 求凸点
  18. 边境的悍匪—机器学习实战:第三章 分类
  19. 利用TODA进行ORACLE数据快捷导入导出
  20. Linux常用命令——rlogin命令

热门文章

  1. 可能永远不会有 Python 4.0
  2. Wmm的学习日记(浅学PHP反序列化字符逃逸)
  3. 中小型医院网络安全保障解决方案
  4. linux下利用RTMP协议接收数据
  5. php 对象转数组 数组转对象
  6. 在vi中使用perltidy格式化perl代码
  7. 加密域可逆信息隐藏 ,针对异或加密的唯密文攻击
  8. selenium基础教程_弹性Selenium基础设施
  9. 想不到Github有如此硬核的Java高级面试“备战”仓库,太腻害了
  10. html中中波浪线怎么弄,css实现波浪线及立方体 (附代码)