失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用JMeter性能测试框架对FTP服务进行测试实践

使用JMeter性能测试框架对FTP服务进行测试实践

时间:2022-04-03 06:09:03

相关推荐

使用JMeter性能测试框架对FTP服务进行测试实践

软件测试工具,期末的一个小小的实训考核,参照官方文档/jmeter/jmeter-doc-07,做了一点点东西,非常简陋,大佬路过了千万忍住别怼我,我不接受(~ ̄▽ ̄)~ !!。

测试过程要求

参考网站的相关文档,配置FTP及JMeter界面的对话框及参数输入,逐一实现如下过程:

配置一:用Serv-U软件架设FTP服务,要求:

1.局域网内部或本机环境,使用普通PC机或笔记本运行,尽可能关闭无关进程和杀毒软件;

2.涉及帐号及目录、文件命名以本人姓名的完整拼音构建,必要时在末尾加上1、2、3等数字作为区分。如张三命名为zhangsan1、zhangsan2……;

3.注意Serv-U软件的默认属性设置参数,必要时进行调整,以免与JMeter的操作产生冲突。

注:此配置不属于测试重点,不用过于详细的操作记录和描述。

(配置一的详细实现过程,移步我刚刚发布的另一篇博客“Windows中IIS和Serv-U两种方式搭建FTP服务/weixin_42365530/article/details/103791330”,这里不在详细赘述如何实现)

配置二:在JMeter中创建FTP测试计划,要求:

1.参考/jmeter/jmeter-doc-07文档,复现其完整过程,包括线程组、FTP请求、FTP默认请求和用表格察看结果等环节;(相应的参数注意按配置一中第2点要求进行修改)

2.设置一组尽可能高的请求数,执行测试并保存FTP运行高负载时的信息;

3.找到FTP运行的极限压力请求数。(备选,不同机器性能差异比较大,注意被测试机器的保护)

配置三:JMeter的FTP测试还有多种运用实例,进行其他性能测试或添加自动化脚本、断言、可视化等组件,根据所掌握的知识选择实现它。(此配置为加分项,内容不限)

1.FTP性能测试可以通过几个用例进行,包括:服务器所能连接的最多客户端、上传或下载的最大文件大小、上传或下载的文件大小为空、客户端一次下载多个文件、客户端一次下载多个文件、客户端一次向服务器上传多个文件、客户端从服务器下载的文件太大,磁盘不足等;

2.多用户等配置参数的脚本化、断言脚本;

3.使用Aggregate Graph等可视化组件(/usermanual/component_reference.html#Aggregate_Graph)。

下面开始做题:

1.测试环境

Serv-U、win10、谷歌浏览器、jmeter

2.测试所涉及的知识点

JMeter是一款Java桌面应用程序,它的用户界面采用Swing Java API实现。基于这两点,JMeter是一个跨平台工具,能够运行在任何安装了Java虚拟机的操作系统(Windows, Linux, Mac)的设备上。

它的框架支持并发和多线程或者线程组的执行。这对于配置负载测试和压力测试非常有用。它是可扩展的,提供了大量的可用插件。

负载测试: 这类测试使系统或者应用程序在预先设计好的极端场景下测试运行。这类测试用来评估系统或者程序在极端条件下的行为。

性能测试: 这种测试被用来检测系统的性能表现,包括特定情况下,系统的响应能力和稳定性。

压力测试: 这类测试通过载入更多的外部资源,并使系统组件超越其所设定的能力范围,试图使系统挂掉。

配置一:用Serv-U软件架设FTP服务

(配置一详细过程可看我另一篇博客,这里简略带过!)

一、新建域:

二、新建用户:

浏览器查看访问ftp结果:

配置二:在JMeter中创建FTP测试计划

一、添加并配置线程组:

二、添加默认FTP请求配置

(添加–配置元件—FTP默认请求)

三、添加两个FTP请求

第一个ftp(get)请求(添加—取样器—FTP请求):

第二个ftp(get)请求(添加—取样器—FTP请求):

四、添加一个监听器浏览/保存测试结果(请求ftp下载成功)

选中线程组元件,添加在表格查看结果(添加→监听器→在表格查看结果)

设置一组较高的请求数,执行测试并保存FTP运行高负载时的信息

这里我设置10个用户,3个get请求,重复3次,所以总的请求数是(10个用户)x(3个请求)x(重复3次)=90

FTP默认请求:

添加三个FTP请求:

执行测试并保存FTP运行高负载时的信息

选中线程组元件,添加在表格查看结果(添加→监听器→在表格查看结果)

找到FTP运行的极限压力请求数。

这里,我通过不断增加高请求数线程组中的线程数,来查找FTP运行的极限压力请求数

开100个线程,成功,能正确执行:

经过我自己的测试开900个线程时也能完全正确执行,当我开到1000个线程时,出现执行失败的情况,如下:

900个线程:

1000个线程:

则我的这台机器极限压力请求数在8100至9000之间。

配置三:其他性能测试添加自动化脚本、断言、可视化等组件

一、响应时间图

在上面高的请求数基础上设置时间间隔10ms的响应时间图

二、添加断言和结果树

给第一个请求添加响应断言和一个单独的结果树,断言测试响应字段http响应代码,并自定义响应失败消息“error http code”

添加响应断言:

响应断言配置http响应代码,并自定义响应失败消息“error http code”:

添加一个单独的结果树:

结果如下,断言通过:

测试结论

进行每一个JMeter测试计划的第一步是添加一个线程组元件。线程组告诉JMeter你想要模拟的用户数量,用户应该发送请求的频率,以及他们应该发送多少个请求。所有的 FTP 请求将发送到相同的 FTP 服务器, 测试计划中的最后一个元件是 监听器。这个元件是存储所有FTP请求的结果到文件并展示可视化数据模型

响应时间分布图

聚合报告

图形结果报告

关于博主

相比我之前的博客,这篇很简略并没有详细到每一个小步骤,看到这篇博客的人,见谅!今天我无耻的写了两次关于博主了,无颜面对江东父老了…我爱中国,今年一定要顺利些!

如果觉得《使用JMeter性能测试框架对FTP服务进行测试实践》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。