小白的性能测试探索之路(1)

2023-12-28 03:40
文章标签 性能 测试 探索 小白

本文主要是介绍小白的性能测试探索之路(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

​​​​​​​

 

        某一天,领导突然就拉了个会说,我们成立稳定性专项,以测试为主力提升服务的整体稳定性?

        当时我的内心是:“what”,性能测试我完全没接触过呀,i am a little tester~而且当初面试的时候也说过,性能我只会用简单的工具,对性能的研究不多呐~

         一时之间,我慌了~我该干啥,从哪里开始我都不知道

        但是最后吧,鉴于我是打不死的小强的精神,我还是认命的接受了这个任务,换个角度想也是一种新的挑战,自己真实去实践学习,比天天看文档会进步的更快。

        于是乎,我就开始了小白的性能测试摸索之路~

  • 了解性能相关的基础名词

后端服务指标

主要指标包含:QPS max、CPU总使用率、内存使用率、YGC次数、JVM ​​​​​​​数据来源:grafana看板服务看板

  • QPS:主要观察压测过程中,最大支持的QPS是多少

  • CPU总使用率:主要观察压测过着中CPU是否超过70%

  • 内存使用率:主要内存使用是否<80%,是否需要调整jvm配置

  • YGC次数:主要观察压测过程中,服务的内存回收是否及时,若未及时回收就会造成YGC,甚至可能造成OLD GC引起服务OOM或stw

  • *关于YGC、OLD GC可自行扩展阅读相关基础知识

数据库指标

主要指标包含:CPU总使用率、内存使用率

     其中,衡量指标区分主节点和读节点;主节点负责写数据,修改或增加删除数据的接口,走的是主节点;读节点负责读取数据,通俗的说就是查询的结果大部分是走读节点,当然也有部分接口要求数据的实时性可能也会走主节点。

接口指标

主要指标包含:RT、P90、P95

    核心主要关注P90数据更准确,因为压测时服务可能出现突刺等问题,导致该时间点的接口耗时偏高,所以取P90的数据会更接近大部分请求的真实耗时;也有人会选择P95作为指标,主要看服务的稳定情况;

接口耗时参考标准:

  • 一般接口耗时标准<=200ms

  • 调用链路比较长,考虑到链路中转问题,则耗时标准<=300ms

  • 统计计算类的接口耗时,则根据实际数据量进行评估

        以上仅个人单次性能实践涉及到的一些数据指标,仅供参考~性能还有其他指标,例如ES、Redis等等~

这篇关于小白的性能测试探索之路(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/544991

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭