刚弄完一个定制,还有一个定制。
这个定制需要用到文件传输,想到项目中本身就有FTP服务器,别的日志什么的都是通过FTP上传的。就想,再开放一个单独的FTP用户,特定到某个文件夹下,接收的文件都放到这个特定的文件夹下。再利用cron定时监听文件夹,对文件进行处理就够了。
但是,协同开发的同事,对于FTP的性能产生了疑虑。因为,可能多个用户并发传输,会不会导致FTP服务把内存或CPU占满,导致整个系统挂掉。
1.需要限制并发上传的用户数目和删除速度
项目使用的是开源的FileZillia Server服务器,在FileZillia Server.xml中进行配置:
<Option Name="User Limit">10</Option> 并发用户数目
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="100" ServerUlLimitBypass="0"> UILimi上传速度,单位是k,但是仿佛没什么用
1.JMetter解压缩,双击ApacheJMeter.jar即可以运行了(前提是你得先装好JDK)
2.首先,在测试计划中添加线程组
3.填写下:
即启动20个线程,同时执行;线程之间的时间间隔为0;执行1次就可以了
4.添加FTP请求缺省值:
4.填写如下:
添加FTP服务器的IP和端口;因为测试上传,所以勾选PUT和use binary mode。
5.添加FTP请求
6.填写如下:
填写FTP的IP、端口、用户名、密码,选择PUT和use binary。Local File只读取的本地文件,按线程号读取文件;Remote File指上传到FTP服务器上的文件名。
具体可以按自己的需求填写,有些变量可以用JMeter的 选项-函数助手生成。
7.选择监听器-按表格查看结果
最后可以把整个测试计划保存一下。然后工具栏上绿色的箭头,运行即可。
运行结束后,就可以在监听器中查看到结果。