接口响应过慢怎样排查?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 服务变慢
    • 服务器全局慢
        • 包括cpu 慢,内存慢,io/磁盘慢,io/网络慢。
    • 服务器局部慢
        • 指得是发现某一个或者多个服务很慢。
  • 1.全局查询思路
    • 1.1 服务器整体情况(top)----- 进程,cpu,内存
    • 1.2 cpu使用情况(vmstat)
    • 1.3 内存(free)
    • 1.4 磁盘(df)
    • 1.5 磁盘io(iostat)
  • 2.局部查询思路
    • jps -ln (查看java 进程)
    • jmap -histo {pid}
    • grep waiting on
    • 服务变慢排查思路:


服务变慢

生产环境变慢问题,变慢这个问题主要是感官上的变慢,究其原因有两方面服务器全局慢服务器局部慢

服务器全局慢

包括cpu 慢,内存慢,io/磁盘慢,io/网络慢。

服务器局部慢

指得是发现某一个或者多个服务很慢。

1.全局查询思路

  • cpu 慢
  • 内存慢
  • io/磁盘慢
  • io/网络慢

1 top 命令(进程,cpu,内存)

1.1 服务器整体情况(top)----- 进程,cpu,内存

在这里插入图片描述
top命令说明

  • 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)
  • 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。一般情况下,只要没有僵死的进程,就没啥大问题。
  • 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
  • 第 4 行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量
  • 第 5 行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量
  • 第 6 行里面主要看 PID 和 COMMAND 这两个参数,其中 PID 就是进程 ID , COMMAND 就是执行的命令,能够看到比较靠前的两个进程都是 java 进程

在当前这个界面,按下数字键盘 1 能够看到各个 CPU 的详细利用率
在这里插入图片描述

1.2 cpu使用情况(vmstat)

在这里插入图片描述
在这里插入图片描述

1.3 内存(free)

在这里插入图片描述

1.4 磁盘(df)

在这里插入图片描述

1.5 磁盘io(iostat)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.局部查询思路

top 发现有问题的进程,对于进程进行查看,这里我只说java 进程的服务,cpu 标高,怀疑内存泄漏导致的full
gc 还有就是线程死锁,

jps -ln (查看java 进程)

在这里插入图片描述

jmap -histo {pid}

在这里插入图片描述
grep 一下GC 的信息,也可以查询GC 的 信息。(这里就能查询到是否都是FULL GC)

grep waiting on

(这里就可以查看到是否是有线程死锁的问题)

服务变慢排查思路:

  1. 是不是资源层面的瓶颈,硬件、配置环境之类的问题
  2. 针对查询类接口,是不是没有添加缓存,如果加了,是不是热点数据导致负载不均衡
  3. 是不是有依赖于第三方接口,导致因第三方请求拖慢了本地请求
  4. 是不是接口涉及业务太多,导致程序执行跑很久
  5. 是不是sql层面的问题导致的数据等待加长,进而拖慢接口
  6. 网络层面的原因?带宽不足?DNS解析慢
  7. 确实是代码质量差导致的,如出现内存泄漏,重复循环读取之类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/292920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【分享】4个方法打开PDF文件

PDF是很多人工作中经常使用的电子文档格式,但是可能有些刚接触的小伙伴不知道用什么工具来打开PDF文件,今天小编就来分享一下4种常用的工具。 1. 使用浏览器 只要有电脑基本都会安装一到两款浏览器,其实浏览器也可以用来打开PDF文件。 只需…

分享5款为你生活带来便捷的小工具

​ 生活需要一些小巧而贴心的工具,它们能够在细节处为我们带来便捷。这五款工具简洁而实用,看看它们是否适合融入你的生活。 1.图片压缩——TinyPNG ​ TinyPNG是一款图片压缩工具,可以智能地减少WebP、PNG和JPEG图片的文件大小。TinyPNG通…

代码随想录算法训练营第59天| 503.下一个更大元素II 42. 接雨水

java代码编写 503.下一个更大元素II 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个…

怎么为pdf文件添加水印?

怎么为pdf文件添加水印?PDF是一种很好用的文件格式,这种格式能够很有效的保护我们的文件,但有时可能还会被破解,这种时候在PDF上添加水印就是比较好的方法。 综上所述,PDF是保密性很强的文件,但添加水印能够…

数字技术:引领未来的创新驱动力

数字技术,作为当代最具创新性和影响力的技术领域之一,已经在全球范围内引起了广泛的关注和研究。当前,数字技术正以惊人的速度改变着我们的世界,从日常生活到商业领域,无一不受到其影响。数字技术的发展不仅改变了人们…

Nginx快速入门:nginx各类转发、代理配置详解|location、proxy_pass参数详解(五)

0. 引言 咱们上节讲解了nginx的负载均衡配置,但是还有很多其他的转发情况,包括不同路径转发至不同的业务服务,通配符识别路径转发等。 今天一起来学习nginx的转发配置 1. location模块的匹配模式 首先我们要了解nginx进行转发代理的核心在…

【音视频】remb twcc原理

目录 twcc简介 WebRTC REMB 参考文档 twcc简介 TWCC全称是Transport wide Congestion Control,是webrtc的最新的拥塞控制算法。其原理是在接收端保存数据包状态,然后构造RTCP包反馈给发送端,反馈信息包括包到达时间、丢包状态等&#xff…

基于JSP+Servlet+Mysql的调查管理系统

基于JSPServletMysql的调查管理系统 一、系统介绍二、功能展示1.项目内容2.项目骨架3.数据库3.登录4.注册3.首页5.系统管理 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目名称:基于JSPServlet的调查管理系统 项目架构:B/S架构 开发语言&#…

云原生文件存储 CFS 线性扩展到千亿级文件数,百度沧海·存储论文被 EuroSys 2023 录用

恭喜百度沧海云存储和中科大合作的论文《CFS: Scaling Metadata Service for Distributed File System via Pruned Scope of Critical Sections》(以下简称论文)被 EuroSys 2023 录用。 EuroSys 全称欧洲计算机系统会议(The European Confer…

PIC单片机项目(7)——基于PIC16F877A的智能灯光设计

1.功能设计 使用PIC16F877A单片机,检测环境关照,当光照比阈值低的时候,开灯。光照阈值可以通过按键进行设置,同时阈值可以保存在EEPROM中,断电不丢失。使用LCD1602进行显示,第一行显示测到的实时光照强度&a…

移动SEO:如何针对任何设备优化您的网站

您快速进行 Google 搜索并阅读一堆结果。然后,您会发现一些网站具有您正在寻找的答案。 但是你从SERP中选择的第一个,也是最有前途的网站,在你最喜欢的移动设备上无法正常工作。 所以,你关闭它,看看下一个网站是否有…

0x52 背包

0x52 背包 背包是线性DP中一类重要而特殊的模型。 1. 0/1背包 0/1背包问题的模型如下: 给定 N N N个物品,其中第 i i i个物品的体积为 V i V_i Vi​,价值为 W i W_i Wi​。有一个容积为 M M M的背包,要求选择一些物品放入背包&…