注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

简单上传性能测试--测试程序  

来自阿贝   2011-09-20 15:52:05|  分类: 性能测试 |举报 |字号 订阅

  下载LOFTER 我的照片书  |

因为涉及到真实产品,把一些实现的细节屏蔽了。

系统架构简化后如下图:

简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team

 测试客户端只要能发送大量上传文件的http请求即可。

 

1、先建立一个conf.properties文件,主要内容如下

threadCount=2   //客户端线程数
requestPerThread=1   //每个线程请求数
filePath=/home/qatest/uploadtest/files/   //存放需上传文件的文件夹,已按照实际统计数据预生成很多文件
requestUrl=http://insp92.space.163.org:8291/fs/formUpload    //请求url

 

2、建立ParseProp.java,其功能是从conf.properties获取参数

为了篇幅考虑,只保留获取“filePath”的代码,其他略

简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team

 
3、建立HttpUploadPerfTest.java,代码结构如下:

简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team
简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team
简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team简单上传性能测试--测试程序 - 网易杭州QA - 网易杭州 QA Team
 
最后谈几点经验:
1、简单上传服务需要上传文件,文件如何生成?开始的方案是先准备少量几个文件,在构造http请求的时候往文件最后append当前时间戳,使文件内容不同。这种方式,由于文件很大,每次读文件导致垃圾很多,cpu都花在垃圾收集上,使客户端性能比服务端差,最后取消这种方式。
2、自己编程的方式vs用测试工具,一般来说“自己编程的方式”客户端性能好。
3、每次请求一定要详细记录该请求的所有信息,比如线程id、请求id、用户名、文件名、成功信息、错误信息等,以方便事后分析。因为性能测试运行很快,等发现问题的时候已经无法还原现场了。所以记录足够的信息非常重要,不仅是客户端,服务端也需要记录足够信息。而且,如果没有足够信息,也无法进行精确的统计。
  评论这张
 
阅读(530)| 评论(8)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016