接口性能调优

1. 如何判断性能问题

  • 行内默认错误率超过 0.05% 是有问题的
  • 查看吞吐量

正常情况下:吞吐量会随着线程的增加而增长

当遇到瓶颈时,吞吐量会持平或者下滑 

 2. 如果访问一个接口的访问时间很慢,如何查找问题

 数据库是否有问题--》缓存redis是否正常--》队列MQ是否正常--》服务器cpu是否正常(内存/带宽/I/O读写)

步骤一: 查看数据库是否存在慢查询 

步骤二:查看 redis 

如果数据库正常,查看缓存是否失效或者缓存击穿

步骤三: 检查队列MQ

队列效果,起到缓冲的效果,防止堵塞

检查队列是否失效,或者队列过长? 

后台查看队列情况,如果下面的情况,就是有问题

步骤四: 查看服务器端

如果CPU大于 80%,就是有问题的,但不一定提高配置就可以,还有可能以下原因:

  • 内存占用太高
  • 网络带宽不够
  • I/O(磁盘)读写操作多
  • 开发代码质量差

不管是数据库,redis,还是MQ,还是服务器监控,都可用grafana+prometheus监控系统

(mac)Prometheus监控之Node_exporter(CPU、内存、磁盘、网络等)-CSDN博客

 (mac)Promethues监控之mysqld_exporter(MySQL监控)-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Fireworks AI和MongoDB:依托您的数据,借助优质模型,助力您开发高速AI应用

我们欣然宣布 MongoDB与 Fireworks AI 正携手合作 让客户能够利用生成式人工智能 (AI) 更快速、更高效、更安全地开展创新活动 Fireworks AI由 Meta旗下 PyTorch团队的行业资深人士于 2022 年底创立,他们在团队中主要负责优化性能、提升开发者体验以及大规模运…

GoLand安装教程

GoLand-安装 GoLand是Go语言编程开发的一款工具,和 IntelliJ IDEA 一样,同为Jetbrains公司旗下的产品,专为Go语言开发的跨平台商业集成开发环境(IDE),它的功能非常强大,它还不仅仅是一个Go IDE…

【数据结构初阶】希尔排序

鼠鼠最近学习了希尔排序,做个笔记! 希尔排序也是插入排序的一种捏!本篇博客也是用排升序来举例捏! 希尔排序是基于直接插入排序的,是由大佬D.L.Shell提出的。 目录 1.希尔排序 1.1.预排序 1.2.直接插入排序 2.希…

jpg和png格式如何互相转换?这四个方法教会你!

JPG转PNG的转换是一个常见的图像处理需求,无论是因为PNG格式具有更好的透明度和无损压缩的特性,还是因为某些特定的应用场景需要这种格式。下面,我们将详细介绍如何将JPG转换为PNG格式,包括使用图像处理软件、在线转换工具、PDF转…

Redis的数据类型及使用场景

redis命令大全官网: Commands | Docs (redis.io) 基本介绍 redis起初主要就是为了解决性能问题的,那么redis为什么快? 基于内存操作的,所以操作不需要跟磁盘进行交互,单次的执行会很快 命令执行是单线程 因为基于内存操作 单次执行时间反…

【MicroPython ESP32】ssd1306驱动0.96“I2C屏幕汉字显示示例

所需模块micropython-ssd1306模块 中文下载站:https://www.cnpython.com/pypi/micropython-ssd1306/download 官方下载站:https://pypi.org/project/micropython-ssd1306/ 汉字取模说明 取模工具:pctolcd2002取模方式: UTF-8字…

电路笔记 :芯片封装、电阻电容封装类型介绍

芯片的零件型号、位号和封装 项目定义作用零件型号每个零件在设计和制造中的唯一标识符号用于识别零件的特定规格、制造商和其他重要信息位号在电路图或设计图纸上标识每个零件位置的符号帮助准确定位每个零件的位置,以便正确安装到相应位置上封装电子元器件的外部…

[C++基础学习-06]----C++指针详解

前言 指针是一个存储变量地址的变量,可以用来访问内存中的数据。在C中,指针是一种非常有用的数据类型,可以帮助我们在程序中对内存进行操作和管理。 正文 01-指针简介 指针的基本概念如下: 声明指针:使用“*”符…

javaweb学习week7

javaweb学习 十四.Springboot 1.配置优先级 Springboot中支持三种格式的配置文件: 注意:虽然Springboot支持多种格式配置文件,但是在项目开发时,推荐使用一种格式的配置(yml是主流) Springboot除了支持…

Java的java.util.concurrent.ExecutorService简介

在Java并发编程的璀璨星空中,ExecutorService无疑是那颗最耀眼的明星。它不仅是Java并发编程的核心组件之一,更是构建高并发、高性能应用的秘密武器。今天,我们就来一场说走就走的探索之旅,揭开它的神秘面纱! &#x1…

spring ioc 容器加载过程 refresh() 方法详解

IOC 加载过程 从 new ClassPathXmlApplicationContext开始 ApplicationContext context new ClassPathXmlApplicationContext("classpath:application.xml");ClassPathXmlApplicationContext类构造方法 public ClassPathXmlApplicationContext(String[] configLo…

知识图谱在提升大语言模型性能中的应用:减少幻觉与增强推理的综述

幻觉现象指的是模型在生成文本时可能会产生一些听起来合理但实际上并不准确或相关的输出,这主要是由于模型在训练数据中存在知识盲区所致。 为了解决这一问题,研究人员采取了多种策略,其中包括利用知识图谱作为外部信息源。知识图谱通过将信息…

电子取证平航杯的复现

闻早起部分: 一、闻早起的windows10电脑 (1).“闻早起”所使用的笔记本电脑使用何种加密程式? 1.在EFI文件中找到加密程式 (2) 教徒“闻早起”所使用的笔记本电脑中安装了一款还原软件,其版本…

测试人员必用的10个Chrome扩展插件

背景:谷歌Chrome浏览器是全球所有测试人员最受欢迎和必备的浏览器之一,Chrome浏览器为我们提供了许多扩展的选择,可以让我们高效和省时地完成工作。以下为作者观点: 1. Testsigma Recorder Testsigma Recorder用于记录与网络应用…

嵌入式Linux学习第二天

今天学习linuxC编程。首先要熟悉linux下编写c程序的过程。 编写程序Hello World! 首先创建存放程序的文件夹,如下图所示: 接下来在创建一个文件夹来保存这节要编写的代码。指令:mkdir 3.1 接下来我们要设置VIM编辑器的一些配置&#xff0…

【简单介绍下Debian常用命令】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

AI部署指南

部署指南 建议大家尽可能的自己去部署,如果实在懒得搞,可以找我来帮你部署,详情参考 服务器代部署说明。 由于时间仓促,文档可能尚未详尽,我将在后续逐步补充详细的说明文档。 架构草图 项目依赖 必选依赖 MySQ…

DS二叉搜索树

前言 我们在数据结构初阶专栏已经对二叉树进行了介绍并用C语言做了实现,但是当时没有对二叉搜树进行介绍,而是把他放到数据结构进阶构专栏的第一期来介绍,原因是后面的map和set(红黑树)是基于搜索树的,这里…

Java-(乘法表之后)增强for循环

这里我们先做个了解,之后我会在数组中进行详细介绍Java5引入了一种主要用于数组或集合的增强型for循环Java增强型for循环语法格式如下 For(声明语句:表达式){ //代码语句 } 声明语句:声明新的局部变量,该变量的类型…

Windows中安装的PostgreSQL 数据库如何重启

1. 使用Windows服务管理器 打开“运行”对话框(按WinR键)。输入services.msc并按回车,这将打开服务列表。在服务列表中找到PostgreSQL服务。它通常命名为“PostgreSQL”后面跟着版本号和实例名称,例如“PostgreSQL 13 - mydb”。…