1. 引言
JMeter是一种基于Java的压力测试工具。用于对软件做压力测试,它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
2. 作用
(1)能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
(2)完全的可移植性和100% 纯java。
(3)完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
(4)完全多线程 框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
(5)精心的GUI设计允许快速操作和更精确的计时。
(6)缓存和离线分析/回放测试结果。
3.在项目中的使用
3.1测试内容
FTP的性能测试,通过JMeter来测试Quick Easy FTP Server的上传与下载性能。
3.2测试过程
(1)先搭建Quick Easy FTP Server
1.1下载Quick Easy FTP Server
(https://dl.pconline.com.cn/download/399465.html)
1.2安装
1.3建立FTP服务器的过程
首先创建新用户
然后在搭建FTP服务器
(2)下载并安装Apache JMeter
开始测试
先建一个线程组
建一个FTP请求,改名为put(这个随意),填写IP地址,端口号,远程文件(Quick Easy FTP Server根目录的地址,其中text是我的定义的文件夹),本地文件(已存在文件的地址和文件名),用户名,密码(这是你设置的Quick Easy FTP Server填的),勾选put,put请求要求本地文件必须存在,且含有数据,要不然会出错
建一个FTP请求,改名为get(这个随意),填写IP地址,端口号,远程文件(Quick Easy FTP Server根目录的地址和已存在的文件名),本地文件(你自己想把从服务器中下载放在什么地方的地址),用户名,密码(这是你设置的Quick Easy FTP Server填的),勾选get和使用二进制模式,get请求要求远程文件必须存在,且含有数据,要不然会出错
在线程组界面改线程数,看测试结果
每秒30个线程,异常为0
每秒100个线程,异常为2.78%
每秒200个线程,异常为66.98%
4.总结
JMeter用于对软件做压力测试,从上面测试结果看来,压力测试的范围在每秒100个线程的时候,出现异常的比例较小,每秒200个线程的时候,异常较大,所以在每秒200个线程内做压力测试最好。