1.谈谈对性能测试的理解?
性能测试是用来评估计算机、网络、软件程序或者设备在负载下的速度、响应时间和稳定性的测试方法。主要是通过模拟生产环境运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。
一般运行性能测试是为了识别性能相关的瓶颈。
2.你们是如何做性能测试的?
由于性能测试可以用不同类型的指标进行,实际过程可能有很大的不同。然而,一个通用的过程有如下步骤:
(1)需求分析:确定和定义性能标准。包括性能目标、指标约束和测试范围。
(2)测试设计:编写测试用例,包括输入数据、测试场景、预期结果等,围绕性能需求和目标建立测试案例。
(3)测试准备:确定测试环境。包括测试和生产环境以及测试工具。且测试中不应改变测试环境。
(4)测试执行:执行性能测试案例,监控并记录测试结果和数据。
(5)测试分析:对性能测试结果和数据进行分析和评估,找出系统中的性能瓶颈和问题,提出优化建议及解决方案。
(6)调优:重新测试,查看结果。在任何微调之后,重新测试,确保系统的性能和稳定性得到了改善。
(7)报告编写:达成测试目标,编写测试报告。
例:上次做的一个电商平台的项目,没有明确的性能指标,只能自己分析和评估,我们预估并发访问量大概在500左右,而电商的主要场景集中在登录、首页访问、商品查询、结算支付等,所以选取这几个重点功能进行用例设计,依照100、200、300、400、500递增用户的方式进行压力测试,再测试过程中监控硬件系统的资源情况。
启动jemter的测试计划,我们从100用户逐渐增加,大概做到300用户并发的时候就发生了脚本运行错误,后来经过查看结果分析,发现是数据库连接池的最大连接数设置过低,发现这个问题后进行数据库的配置修改,然后重新进行压力测试,并发用户数提高到500左右,系统资源也基本符合预期要求。
测试完成通过结果集对测试结果进行详细的对比和分析,找到问题并进行优化,直到达到测试目标,然后编写测试报告。
3.常见的性能测试指标有哪些?
性能指标通常包括:
(1)响应时间:指从用户发出请求到系统响应完成的时间,是衡量系统响应速度的主要指标。响应时间短的系统能够提供更好的用户体验,一般遵循2-5-8原则。
(2)吞吐量:指在一定时间内系统能够处理的请求数量,是衡量系统处理能力的主要指标。吞吐量 TPS(每秒事物数)=事物数/时间,吞吐量越高,表示系统的并发处理能力越强,能够同时处理更多的请求
(3)并发用户数:指系统在同一时间内能够同时处理的用户数量,是衡量系统并发处理能力的主要指标。并发用户数越高,表示系统能够同时处理更多的请求。
(4)Cpu使用率:指系统 CPU 使用的百分比,是衡量系统负载和资源利用率的主要指标。CPU 使用率高的系统可能会导致响应时间增加,吞吐量降低等性能问题。
(5)内存使用率:指系统内存使用的百分比,是衡量系统资源利用率的主要指标。内存使用率高的系统可能会导致系统响应时间增加,吞吐量降低等性能问题。
(6)磁盘 I/O:指系统对磁盘的读写操作,是衡量系统磁盘性能的主要指标。磁盘