性能测试-系统调优

发布时间:2024年01月23日

前言

性能测试是通过性能的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

术语: 场景(Scenario):场景即测试场景。在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Load Generator)、设置执行时间等。

负载发生器(Load Generator):用来产生压力的机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个Controller控制多个Load Generator以对被测试系统进行加压。

虚拟用户(Virtual User/Vuser):对应于现实中的真实用户,使用LoadRunner模拟的用户称为虚拟用户。性能测试模拟多个用户操作可以理解为:这些虚拟用户在跑脚本,以模拟多个真正用户的行为。

虚拟用户脚本(Vuser script):通过Vuser Generator录制或开发的脚本。这些脚本用来模拟用户的行为。

事务(Transaction):测试人员可以将一个或多个操作步骤定义为一个事务,可以通俗的理解事务为“人为定义的一系列请求(请求可以是一个或者多个)”。在程序上,事务表现为被开始标记和结束标记圈定的一段代码区块。Loadrunner根据事务的开头和结尾标记,计算事务响应时间、成功/失败的事务数。

一、测试阶段

1、性能测试需求分析阶段

根据用户使用习惯和实际业务的性能需求,生成性能测试需求调查表

根据性能测试需求及系统重要业务调研,选取典型业务

了解业务模型及业务架构

2、性能测试设计阶段

编写性能测试用例

结合性能测试用例录制/修改/完善测试执行脚本

结合用户应用场景设计性能测试执行场景

3、性能测试执行阶段

利用LoadRunner性能测试工具中的Controller应用,按照并发用户数执行场景,并保存测试结果(Jmeter同理)

利用LoadRunner性能测试工具监控被测试环境下的服务器CPU,内存,磁盘等系统资源的使用情况

在需要的情况下利用第三方监控工具监控被测试系统的资源使用情况

在对于可靠性测试,长时间执行测试,查看系统是否会出现内存泄漏,宕机等情况

4、性能测试分析阶段

利用LoadRunner性能测试工具中的Analysis应用,分析场景执行后的结果

在需要的情况下借助其他辅助工具对系统进行监控,如Linux系统top等命令或其他辅助工具,进一步分析系统资源使用情况

5、性能测试调优阶段

通过与以前的测试结果进行对比分析,从而确定经过调整以后系统的性能是否有提升。

在进行性能调整的时候,最好一次只调整一项内容或者一类内容,避免一次调整多项而引起性能提高,却不知道是由于调整哪项关键指标而改善性能的。通常,我们是按照由易到难的顺序

系统性能进行调优。系统调优由易到难的先后顺序如下:

硬件问题 网络问题 应用服务器,数据库等配置信息 源代码,数据库脚本问题 系统架构问题根据性能测试执行结果,分析结果是否满足用户需求并生成性能测试报告

二、试启动标准

1、系统待测版本定版

2、测试环境部署完毕

包括: 系统安装并调试成功,并经过相应优化,初始数据量满足测试要求

应用软件安装成功,待测试版本已正确部署

测试客户端机器到位,系统软件安装完毕

网络配置正确,连接通畅,可以满足压力测试需求

3、测试方案审核

批准完毕,项目组签字确认。

三、测试暂停/再启动标准

1、暂停准则

测试中发现问题,需求对系统进行代码修改,调优或需要更换,调整硬件资源(CPU、内存等)

测试环境受到干扰,比如服务器被临时征用,或服务器的其他使用会对测试结果造成干扰

2、再启动准则

测试中发现的软、硬件问题得以解决

测试环境恢复正常

四、测试完成标准

完成测试计划中规定的测试内容和轮次。

已达到性能测试计划完成时间,但因非测试方原因未完成测试场景的执行,客户方决定不再顺延该阶段的测试。

五、性能测试的测试目的/准备和方法

1、测试目的

主要目的是检查系统处于压力情况下时应用系统的表现,重点在于系统有无出错信息产生,考察系统应用的响应时间、TPS、资源状况等。

针对系统可靠性进行测试,主要检查系统在高负荷压力的情况下是否会出现如宕机、应用异常终止、资源竞争异常、资源死锁等问题。

通过压力测试,获得系统可能存在的性能瓶颈、发现、定位系统中可能存在的性能缺陷。

2、测试准备

功能测试已经结束

性能测试环境已经准备完毕

已将模拟数据提前准备完毕(被测试系统需要的测试数据)

相关技术支持人员的支持

3、测试方法

利用LoadRunner性能测试工具中的Virtual User Generator应用,录制性能测试执行脚本。

对性能测试脚本进行修改、调试、完善并保存测试脚本。利用LoadRunner性能测试工具中的Controller应用,按性能测试用例执行设计的场景并保存场景。

利用被测服务器自带监控工具和LoadRunner监控被测环境下服务器的CPU、网络流量等系统资源的使用情况。利用LoadRunner性能测试工具中的Analysis应用,分析场景执行后的结果。

4、测试分析范围

针对“测试业务及性能需求”的内容,对系统响应时间、系统业务处理容量(TPS)、被测试环境下服务器资源使用情况(如CPU、内存、磁盘等)进行监控。

?现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!?希望能帮助到你!【100%无套路免费领取】

文章来源:https://blog.csdn.net/Xsk215/article/details/135771005
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。