基于JMeter的Quick Easy FTP Server性能测试
FTP性能测试
1.引言
1.1背景说明
本测试选用的是一个小型的FTP服务器软件:Quick Easy FTP Server。Quick Easy FTP Server是一个全中文的FTP服务器软件,反应迅速,操作方便,实现了标准FTP服务器所具有的功能。
该软件具有以下特点:1.软件安装程序极小,但性能毫不逊色于专业的那些FTP服务器软件2.功能全面.具备完整的帐户管理,便捷的服务器配置,安全性设置,在线用户信息, 服务器日志,实时数据统计,检软件界面查更新一应俱全3.支持断点续传4.完整的帮助系统5.全中文,更适合中国人使用。
之前使用FileZilla搭建服务器顺便搭建了WordPress网站,这次尝试用Quick Easy FTP Server搭建ftp服务器并进行网络传输性能测试
1.2文档目的
通过JMeter来测试Quick Easy FTP Server的上传与下载性能。
2.测试环境
2.1测试配置
Windows10 i5-7200CPU @ 3.30GHz;RAM:8GB;64位操作系统
JDK 1.8
测试软件:Apache JMeter 5.1.1
FTP服务软件:Quick Easy FTP Server 4.0.0
3.性能测试需求
作为一个小型的FTP服务器软件,Quick Easy FTP Server理论上能够承受每秒几十次的并发访问,以实现在同一局域网内文件上传下载的目的。
4.性能测试描述过程
安装压缩包,配置软件信息

绑定端口失败,可能有另一个进程使用该端口

众所周知ftp默认端口为21,查询端口占用情况

杀掉端口所属的进程

重新查询端口

网上查找后发下该进程为系统核心进程无法杀掉
于是,更改端口为2222,启动成功

用户权限设计,设置下载及上传无上限

1秒1线程访问额

配置FTP请求缺省值

get请求

put请求

创建监听器

创建表格查看结果

创建图形结果

其他配置过程相同
1秒30线程访问额

其他配置过程相同
性能测试结果分析
1秒1线程访问额
get:完成了1个sample,平均响应时间为130ms,响应时间的中值为130s,所有sample中90%的sample的响应时间都小于130ms,最小响应时间为130ms,最大响应时间为130ms,错误率为0%。
put:完成了1个sample,平均响应时间为84ms,响应时间的中值为84ms,所有sample中90%的sample的响应时间都小于84ms,最小响应时间为84ms,最大响应时间为84ms,错误率为0%。


1秒30线程访问额
get:完成了30个sample,平均响应时间为164ms,响应时间的中值为8ms,所有sample中90%的sample的响应时间都小于576ms,最小响应时间为2ms,最大响应时间为786ms,错误率为60%。
put:完成了30个sample,平均响应时间为27ms,响应时间的中值为12ms,所有sample中90%的sample的响应时间都小于30ms,最小响应时间为3ms,最大响应时间为212,ms,错误率为90%。



1秒50线程访问额
get:完成了50个sample,平均响应时间为113ms,响应时间的中值为7ms,所有sample中90%的sample的响应时间都小于476ms,最小响应时间为1ms,最大响应时间为665ms,错误率为74%。
put:完成了50个sample,平均响应时间为23ms,响应时间的中值为7ms,所有sample中90%的sample的响应时间都小于23ms,最小响应时间为2ms,最大响应时间为264ms,错误率为92%。


1秒100线程访问额
get:完成了100个sample,平均响应时间为155ms,响应时间的中值为145ms,所有sample中90%的sample的响应时间都小于191ms,最小响应时间为3ms,最大响应时间为1412ms,错误率为95%。
put:完成了100个sample,平均响应时间为85ms,响应时间的中值为97ms,所有sample中90%的sample的响应时间都小于112ms,最小响应时间为3ms,最大响应时间为263ms,错误率为99%。



5.总结
该软件在1秒中内同一时间的线程访问额度达到50的时候,就已经出现了将近74%的错误率,而在访问额度达到100的时候,错误率甚至达到了95%左右。这说明,在1秒内同一时间访问额度达到50的时候就需要谨慎使用了,而1秒内同一时间访问额度达到100的时候,该软件已经不建议使用了。
通过以上数据和分析,我们认为该软件在小班化教学或者公司小范围开会的时候,用在局域网内的上传与下载文档非常适合。
以上就是对小型FTP服务软件Quick Easy FTP Server的上传与下载数值的分析。
通过这次博客作业,对JMeter压力测试有了更深一步的了解,之前遇到最大的坑在于没有填写正确的ip以及ftp虚拟路径,而且后面发现一但ip无响应不仅关不了进程,连任务管理器还没有用,只能重启来解决,差点把我的文档给丢了。。。总而言之,通过这个作业,让我对FTP的性能测试的大致流程有了一定的熟悉度,并通过搭配环境的过程,也对FTP这个协议有了更深的了解。
基于JMeter的Quick Easy FTP Server性能测试的更多相关文章
- 通过JMeter来测试Quick Easy FTP Server的上传与下载性能
FTP性能测试 1.1背景说明 本测试选用的是一个小型的FTP服务器软件:Quick Easy FTP Server.Quick Easy FTP Server是一个全中文的FTP服务器软件,反应迅速 ...
- Quick Easy FTP Server FTP工具文件传输使用
1 工具配置 2 linux 下ftp命令上传和下载文件到FTP_DIR目录 1 ftp 172.16.18.292 输入用户名3 输入密码 4 ls或dir 查看目录及文件 lcd进入本地目录 ...
- 基于jmeter,jenkins,ANT接口,性能测试框架
背景 公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的 ...
- 基于Jmeter跟Jenkins的自动化性能测试的一站式解决方案(转)
www.MyException.Cn 网友分享于:2015-08-26 浏览:0次 基于Jmeter和Jenkins的自动化性能测试的一站式解决方案 作者: Yu, Qingguo Shen, ...
- C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密
FTPS,亦或是FTPES, 是FTP协议的一种扩展,用于对TLS和SSL协议的支持. 本文讲述了如何从一个基于FTPS的Server中下载数据的实例. 任何地方,如有纰漏,欢迎诸位道友指教. ...
- 基于jmeter的性能测试平台(二) 一个构想
之前基于jmeter搭好了分布式测试平台,但是感觉还是很粗糙,打算给它穿点衣服. 整个架构差不多就像下面这个图. (1)基于python django做一个web页面,友好地管理测试过程 (2)con ...
- JMeter基础之一 一个简单的性能测试
JMeter基础之一 一个简单的性能测试 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测 ...
- How to set up an FTP server on Ubuntu 14.04
How to set up an FTP server on Ubuntu 14.04 Setting up a fully-functional and highly secure FTP serv ...
- 云server 性能测试web压力测试
前言:如今,云server主流.它已成为许多中小型企业的首选server,但是云server它是一个虚拟机.所以性能是一个大问题,从这里开始介绍云server性能测试,云webserver压力测试. ...
随机推荐
- 解决PHP7无法监听9000端口问题/502错误解决办法
问题背景 昨晚帮配置nginx+php服务的时候,发生了一个奇怪的事情netstat -anp|grep 9000查看9000端口,一直没有监听,于是nginx无法通过fastcgi来代理php请求. ...
- Node Addon
Node Addon as bridge between javascript and C++ #include <node.h> namespace HelloWorldDemo { u ...
- 动态BGP与静态BGP
在阿里云上选择ECS的时候,发现有动态BGP和静态BGP区分,静态的要便宜些,搜了下区别如下: 静态BGP路由是指由网络运营商手动配置的路由信息.当网络的拓扑结构或链路的状态发生变化时,运营商需要手动 ...
- Red Hat Enterprise Linux ISO 全镜像下载
1.iso网盘下载地址:https://wanghualang.pipipan.com/dir/13133650-26232498-a8efb3/ 2.中国大陆开源镜像站汇总,企业贡献: 搜狐开源镜像 ...
- php中类的不定参数使用示例
在类的实例化过程中,可以带或不带参数,那么构造函数将如何处理这些参数呢?为了使构造函数具有通用性,在定义构造函数时,一般不带参数,然后在其内部对参数情况进行处理.下面代码显示了一个完整的通用Perso ...
- [LeetCode] 92. Reverse Linked List II 反向链表II
Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...
- Python进阶之面向对象
新式类与旧式类 区别: 在2.2版本之前所有的类都是旧式类,3.x版本已取消旧式类 旧式类一般的写法,不继承任何父类 class Person: def __init__(self, name): s ...
- abp_vue导入导出excel
后端abp,前端vue导入excel,开始准备用直接用npoi,觉得要写太多的代码,就算从以前的复制粘贴也麻烦,所以偷懒直接用别人的轮子 Magicodes.IE.这样可以节省很多工作,根据实体生成e ...
- 四、Spring中使用@Conditional按照条件注册Bean
以前其实是写过@Condtional注解的笔记的,这里附上链接: Spring中的@conditional注解 但已经忘记的差不多了,所以今天再重新学习下,可以互补着学习 @Contional:按照一 ...
- LeetCode 859. 亲密字符串(Buddy Strings) 23
859. 亲密字符串 859. Buddy Strings 题目描述 给定两个由小写字母构成的字符串 A 和 B,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true:否则返 ...