如何「假装」自己做过性能测试?

news2024/11/19 17:19:30

简历:

熟练掌握后端性能、压力测试

面试官:

你们是怎么做性能测试的?

我:

主要是对后端服务模块进行性能测试,我们上一个项目是是一个群聊项目,类似于QQ群,大家可以在一个群里聊天,支持发送图片、文字消息、emoji。

然后巴拉巴拉讲一顿我们后端的服务建构,有哪些模块,模块之间是怎么通讯的,用什么协议,以及为什么用这个协议。

之前对消息接收&&分发模块(MAD,message accept and distribute)进行过性能测试,C++写的。

群聊系统,肯定是有前端页面的,用户在前端页面发消息,同一个群里的其它人负责接收消息。

MAD模块负责统一接收前端群聊消息,并负责给群消息进行编号(redis存储,key是群id),比如A群中消息的编号是从1开始,B群中消息的编号也是从0开始。

为什么要有MAD模块?

1、MAD模块负责给群消息进行编号,这在以后拉取历史消息的时候会用到

2、消息分发,用户在A群里发送的消息,只能是A群里的其它用户能收到,不能让B群里的用户收到,也就是需要进行分发,不同群的消息,分发给不用的群线程进行处理。

MAD模块性能测试

一、测试需求:

1、需要知道一个群所能支持的最大qps,即一个群能够支持多少个人同时发消息

2、MAD模块是不是支持线性可扩展(线上环境,会在多个机器上部署MAD,需要知道MAD是否是线性可扩展)

3、得出压测期间cpu、内存数据

注:MAD模块,当消息处理不过来了,会在日志中打印“is full”,也就是消息队列满了。

二、测试过程

1、制定测试计划
2、测试工具准备
3、测试脚本编写(录制)
4、测试数据准备
5、执行测试
6、统计测试结果数据

测试工具,公司内有成熟的压测工具,命令行调用,在参数里指定QPS。

测试数据准备,用程序生成大量不重复的群id,往这些群里发送消息。

统计测试结果,统计压测期间cpu、内存占用的平均值。
top -p PID -d 1 -b -n 次数 > info.txt

比如压测时间为10分钟,次数就是600。
然后在处理文件,得到cpu和内存的平均值,就可以了。

面试官:

有没有发现问题?

我:

发现两个问题
1、程序在空跑期间,cpu占用达百分之七八十
2、MAD性能并没有严格线性扩展

问题1 是由于开发调用sleep函数传参传错了,本想sleep 1秒,应该传参sleep(1000),结果传成了sleep(1)。
问题2 可通过增加一致性哈希的虚拟节点解决,当前性能已符合需求。

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视觉SLAM十四讲——ch10实践(后端2)

视觉SLAM十四讲——ch10的实践操作及避坑 0. 实践前小知识介绍1. 实践操作前的准备工作2. 实践过程2.1 g2o原生位姿图2.2 李代数上的位姿图优化 3. 遇到的问题及解决办法3.1 在运行pose_graph_g2o_lie时出现错误 0. 实践前小知识介绍 视觉SLAM(Simultaneous Locali…

基于Java菜匣子优选系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

粒子群算法(Particle Swarm Optimization(PSO)附简单案例及详细matlab源码)

作者:非妃是公主 专栏:《智能优化算法》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 专栏推荐序一、概论二、粒子群算法原理…

【复杂网络建模】——使用PyTorch和DGL库实现图神经网络进行链路预测

🤵‍♂️ 个人主页:Lingxw_w的个人主页 ✍🏻作者简介:计算机科学与技术研究生在读 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 &#x1f4a…

当老板问:软件质量怎么样,能上线发布吗?阁下该如何应对

说在前面 每当你和团队完成了一款软件产品的开发,是否很容易被问到这样一个问题:质量怎么样?或者是能上线发布吗?如果你是团队的负责人,你会如何回答这样的问题呢?对软件质量的评判标准,不见得…

【Airtest】UI自动化测试的数据分离实践

目录 前言 1. 示例介绍 2. 读取Excel单元格里的数据 1)安装 xlrd 第三方库 2)读取表格数据存储到列表中 3)封装成读取控件信息的函数 3. 处理控件信息并实现控件操作 小结 前言 在UI自动化测试中,测试数据的管理和组织是…

Spring-Retry(重试机制)

Spring-Retry(重试机制) 在实际工作中,重处理是一个非常常见的场景,比如: 发送消息失败。 调用远程服务失败。 争抢锁失败。 这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用try…

Redis入门 - 5种基本数据类型

原文首更地址,阅读效果更佳! Redis入门 - 5种基本数据类型 | CoderMast编程桅杆https://www.codermast.com/database/redis/five-base-datatype.html 说明 在我们平常的业务中基本只会使用到Redis的基本数据类型(String、List、Hash、Set、…

重新学树结构

树 图一 图二 相关术语 前驱:某结点上一层结点,图中H结点的前驱结点是F后继:某结点紧跟的后面的结点,图中F结点的后继是G、H、I三个结点根结点:非空树没有前驱结点的结点,图中的R结点结点的度&#x…

019+limou+C语言预处理

0.前言 您好,这里是limou3434的一篇博客,感兴趣您可以看看我的其他博文系列。本次我主要给您带来了C语言有关预处理的知识。 1.宏的深度理解与使用 1.1.数值宏常量 #define PI 3.1415926注意define和#之间是可以留有空格的 1.2.字符宏常量 #includ…

设置论文中的图、表的题注

参考b站:毕业论文图表如何自动编号/word图表自动编号/图表编号自动更新 其中,更新图表序号 视频使用ctrl 设置论文中的图、表的题注 step1:设置章节1.1: 章节设置字体样式,选择标题11.2:章节添加序号1.3 修改序号 和字之间的缩进&…

Linux->线程基本概念

目录 前言: 1. 线程的基本概念 2 线程的优点 3 线程的缺点 4 数据块大小为4KB大小的真正原因 前言: 本篇文章讲解了线程与进程之间的区别和联系,线程的优缺点,还有内存的数据管理与磁盘之间的关系,虚拟内存到内存…

阿里云服务器提供哪些操作系统和软件支持?是否与常用软件兼容?

阿里云服务器提供哪些操作系统和软件支持?是否与常用软件兼容?    阿里云服务器支持的操作系统   为了满足不同用户需求,阿里云服务器(ECS)提供了丰富的操作系统选择。以下是阿里云服务器支持的主要操作系统&#…

Linux 配置MySQL环境(三)

Linux配置MySQL环境 一、下载1. 官网下载MySQL2. 百度网盘快速下载MySQL 二、安装1、通过 Xftp 将 MySQL 安装包拷贝到 Linux2、解压缩3、安装 common、libs、client、server4、初步连接 三、卸载四、常用设置1. 修改 root 用户密码 五、使用新密码登录六、开启远程访问七、开放…

PHP设计模式21-工厂模式的讲解及应用

文章目录 前言基础知识简单工厂模式工厂方法模式抽象工厂模式 详解工厂模式普通的实现更加优雅的实现 总结 前言 本文已收录于PHP全栈系列专栏:PHP快速入门与实战 学会好设计模式,能够对我们的技术水平得到非常大的提升。同时也会让我们的代码写的非常…

OpenCV 笔记_5

文章目录 笔记_5特征点匹配DMatch 存放匹配结果DescriptorMatcher::match 特征点描述子(一对一)匹配DescriptorMatcher::knnMatch 特征点描述子(一对多)匹配DescriptorMatcher::radiusMatch 特征点描述子(一对多&#…

Frontiers in Microbiology:DAP-seq技术在猪苓C2H2转录因子PuCRZ1调控菌丝生长及渗透胁迫耐受性机制研究中的应用

猪苓(Polyporus umbellatus)是一种可食用的蘑菇,也是我国常用的菌类药材之一,至今已有2000多年的药用历史,在《神农本草经》、《本草纲目》、《本草求真》等典籍中均有记载。猪苓具有利尿、抗菌作用,近年来…

SpringBatch从入门到实战(二):HelloWorld

一:HelloWorld 1.1 配置Job、Step、Tasklet Configuration public class HelloWorldJobConfig {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;Beanpublic Job helloWorldJob() {return jobBuild…

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

目录 LeeCode 503.下一个更大元素II LeeCode 42. 接雨水 暴力解法 优化双指针法 单调栈法 LeeCode 503.下一个更大元素II 503. 下一个更大元素 II - 力扣(LeetCode) 【思路】 相较于前两道题目,这道题目将数组改为循环数组&#x…

python获取度娘热搜数据并保存成Excel

python获取百度热搜数据 一、获取目标、准备工作二、开始编码三、总结 一、获取目标、准备工作 1、获取目标: 本次获取教程目标:某度热搜 2、准备工作 环境python3.xrequestspandas requests跟pandas为本次教程所需的库,requests用于模拟h…