- 浏览: 128826 次
- 性别:
文章分类
最新评论
-
seacow2008:
同1楼,深入浅出
Java并发编程(二) CountDownLatch -
Mojarra:
java0000wa 写道不能搞得通俗易懂一点? demo S ...
fastupload 0.6.0发布 -
java0000wa:
不能搞得通俗易懂一点? demo Spring jar包都少了 ...
fastupload 0.6.0发布 -
Mojarra:
tegger 写道不好意思设置字符编码解决了,还是挺好用的,不 ...
fastupload 0.6.0发布 -
tegger:
不好意思设置字符编码解决了,还是挺好用的,不错
fastupload 0.6.0发布
文件上传的秘密系列之一, http://mojarra.iteye.com/blog/1412497
文件上传的秘密系列之二, http://mojarra.iteye.com/blog/1534821
对照著名的Apache Common File Upload这个组件, 做一下对比。选取两组文件,每组文件各包含三张照片。
第一组中三张照片的大小是,1.7M、1.7M、1.2M
第二组中三张照片的大小是,574K、588K、384K。
每组文件分别上传20次。计时每次接收文件所用的时间,单位ms.
测试的环境就是本机,配置为i5 2.3G/内存4G/硬盘5400转128G。 JDK 6.0.23 For MAC, 服务器Tomcat 7.0.21。
同一web app下,用Common File Upload和本系列中前面封装的文件上传类FileUploadParser分别写一个Servlet,保存文件到指定的目录中。测试中,长传文件使用FireFox 12英文版本。
第一组数据样本,FileUploadParser单次接收最短耗时36ms, Apache的Common File Upload单次接收最短耗时67ms,FileUploadParser单次接收最长耗时161ms,Common File Upload单次接收最长耗时275ms。
5个最短的FileUploadParser单次接收耗时分别是36ms、36ms、36ms、37ms和37ms,5个最长的耗时是161ms、108ms,94ms、77ms和73ms。
从样本数据中看,Common File Upload对照数据是,5次最短耗时是67ms、69ms、72ms、73ms和73ms,5个最长的耗时是275ms、216ms,204ms、184ms和157ms。
cost: 161 cost: 36 cost: 37 cost: 55 cost: 41 cost: 37 cost: 39 cost: 77 cost: 108 cost: 67 cost: 39 cost: 36 cost: 38 cost: 36 cost: 53 cost: 37 cost: 37 cost: 73 cost: 94 cost: 39 Apache Common File Upload costs: 69 Apache Common File Upload costs: 216 Apache Common File Upload costs: 78 Apache Common File Upload costs: 275 Apache Common File Upload costs: 157 Apache Common File Upload costs: 146 Apache Common File Upload costs: 204 Apache Common File Upload costs: 76 Apache Common File Upload costs: 107 Apache Common File Upload costs: 132 Apache Common File Upload costs: 104 Apache Common File Upload costs: 73 Apache Common File Upload costs: 106 Apache Common File Upload costs: 73 Apache Common File Upload costs: 72 Apache Common File Upload costs: 87 Apache Common File Upload costs: 74 Apache Common File Upload costs: 67 Apache Common File Upload costs: 88 Apache Common File Upload costs: 184
第二组数据样本,FileUploadParser单次接收最短耗时13ms, Apache的Common File Upload单次接收最短耗时16ms,FileUploadParser单次接收最长耗时50ms,Common File Upload单次接收最长耗时107ms。
5个最短的FileUploadParser单次接收耗时分别是13ms、13ms、13ms、14ms和14ms,5个最长的耗时是50ms、36ms,19ms、17ms和17ms。
从样本数据中看,Common File Upload对照数据是,5次最短耗时是16ms、18ms、27ms、29ms和30ms,5个最长的耗时是107ms、80ms、75ms、61ms和43ms。
cost: 36 cost: 14 cost: 17 cost: 13 cost: 17 cost: 14 cost: 13 cost: 14 cost: 16 cost: 14 cost: 13 cost: 16 cost: 14 cost: 13 cost: 50 cost: 15 cost: 14 cost: 15 cost: 16 cost: 19 Apache Common File Upload costs: 107 Apache Common File Upload costs: 27 Apache Common File Upload costs: 42 Apache Common File Upload costs: 43 Apache Common File Upload costs: 41 Apache Common File Upload costs: 61 Apache Common File Upload costs: 80 Apache Common File Upload costs: 45 Apache Common File Upload costs: 39 Apache Common File Upload costs: 29 Apache Common File Upload costs: 32 Apache Common File Upload costs: 61 Apache Common File Upload costs: 16 Apache Common File Upload costs: 30 Apache Common File Upload costs: 38 Apache Common File Upload costs: 40 Apache Common File Upload costs: 75 Apache Common File Upload costs: 38 Apache Common File Upload costs: 40 Apache Common File Upload costs: 18
从测试取得的样本数据分析,无论是最小时间、还是样本数据的方差,最短耗时的方差、最长耗时的方差,Common File Upload除了在第二组数据中的最短单次耗时小幅落后外,其他的指标终大幅落后FileUploadParser. 而且,随着上传文件大小的增加,落后的幅度越大。
注:测试用的文件上传在本博客的附件中。
<原创内容,版权所有,如若转载,请注明出处,不胜感谢!仪山湖>
- untitled_folder.zip (2.5 KB)
- 下载次数: 55
评论
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = System.getProperty("user.home") + "/acf/"; long s = System.currentTimeMillis(); // Create a factory for disk-based file items FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Parse the request try { List<FileItem> items = upload.parseRequest(request); for (FileItem e : items) { e.write(new File(path + e.getName())); } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.format("Apache Common File Upload costs: %d %n", System.currentTimeMillis() - s); }
发表评论
-
Fastupload 0.6.1 发布
2014-03-03 09:44 15200.6.1版本主要修复了JQuery-form提交ajax请 ... -
fastupload 0.6.0发布
2013-06-23 18:24 1716Fastupload 0.6.0完善或者新增加的功能有: ... -
uProfiler使用指南
2013-06-13 14:43 1501简介: uProfiler Community是面向主题 ... -
uProfiler Community 1.0发布
2013-06-08 09:39 1947uProfiler Community 1.0是面 ... -
fastupload-springmvc 0.5.5发布
2013-04-15 21:55 1951fastupload-springmvc是利用f ... -
Fastupload 0.5.3发布
2013-01-05 19:55 950相对于以往的版本,fastupload 0.5.3做出了明 ... -
fastupload已发布至maven中心库
2012-11-29 09:44 987为了让大家更方便的使用fastupload开源项目,fastu ... -
白话MVC(五)初窥Spring MVC
2012-11-22 21:17 2154在 为 struts2 项 目写完 fastuplo ... -
Fastupload 0.4.7发布,支持struts2
2012-10-28 20:56 1721Fastupload 0.4.7这个版本中主要增加了支持str ... -
白话MVC(四)为Struts2编写文件上传插件
2012-10-28 20:47 3118Struts2中,在Dispatcher.java ... -
Fastupload 0.4.2发布
2012-10-19 12:05 1499更新:fastupload 0.4.2支 ... -
fastupload召集开源开发志愿者
2012-10-11 19:57 98fastupload开源项目自发布0.3.5版本后,文件上传的 ... -
白话MVC(三)Struts2拦截器巧妙装配Model Bean
2012-10-12 18:02 1979白话MVC(二) 在Struts的过滤器中,经过调用Prep ... -
白话MVC(二)Struts2中Model的处理基础-ActionContext
2012-10-09 13:17 2393白话MVC(一) ... -
白话MVC(一)Model的产生及处理
2012-09-29 00:36 34544白话MVC(二) 最近在带一“徒弟”,领悟能力很高,对我 ... -
fastupload API开发快速上手
2012-09-01 16:36 2820fastupload提供两种从multipart/form-d ... -
文件上传的秘密(五)0.31版本功能基本完备
2012-08-26 21:15 1342fastupload 0.31版本上周已经发布,因为工作的关系 ... -
fastupload 0.3.1发布
2012-08-21 15:25 1685fastupload根据RFC 1867文档 ... -
开源项目fastupload 0.2.3发布
2012-07-06 17:19 1935fastupload 0.2.3发布,增加了对sub-boun ... -
文件上传的秘密(四)大小限制与进度
2012-05-28 14:27 8352RFC1867规范中,对表单上传文件的大小和进度都没有作出规定 ...
相关推荐
SenC(n=1-8)团簇稳定性和金属性的研究,岳莉,吴位巍,本文利用密度泛函理论框架下的BLYP交换关联函数对BenC (n=1-8)团簇稳定性和金属性进行较系统的研究。结果表明,C原子的掺杂不仅明显提�
这是一篇论述文章,主要讨论了衡量超级计算机性能指标。希望对大家有用。。。。
定义出衡量回采巷道围岩稳定性预测模型的精度度量P和非均等代价下的代价度量E,并以成熟度度量M作为评价模型性能的准则。结果表明有多组λ1和λ2使得回采巷道围岩稳定性预测模型的成熟度度量达到最大值M=1,性能较稳定...
文中概述了应用层组播的数据传输模型、组播树构造算法和协议性能评价标准,阐述了应用层组播稳定性问题产生的原因,提出了衡量应用层组播稳定性的标准,分析了影响应用层组播稳定性的因素,根据影响因素将应用层组播稳定...
汽车的操纵稳定性是衡量汽车安全性最基本的指标之一,影响汽车行驶稳定性的基本因素主要有横摆角速度与质心侧偏角,将汽车简化为二自由度模型,建立关于横摆角速度与质心侧偏角的转向微分方程。基于MATLAB/Simulink软件...
计算机性能的主要指标。 经典计算机理论。包括计算机CPU、存储、IO等各方面
电源环路稳定性评价方法pdf,环路稳定性评价指标:衡量开关电源稳定性的指标是相位裕度和增益裕度。同时穿越频率,也应作为一个参考指标。(1) 相位裕度是指:增益降到0dB时所对应的相位。(2) 增益裕度是指:相位为0...
为了探索不同配比下浆液的稳定性能及其沉积析水规律,改进了现有浆液静置析水试验装置,进行了浆液稳定性沉积析水试验,获得了水固比(0.6︰1~3︰1)、粉煤灰掺量(0%~90%)、水玻璃掺量(0~12%)单因素控制下的浆液样本在...
软件性能测试之如何评价系统性能,很多人并不清楚的。
3.3 安全性、可靠性和性能评价 3.3.1主要知识点 了解计算机数据安全和保密、计算机故障诊断与容错技术、系统性能评价方面的知识,掌握数据加密的有关算法、系统可靠性指标和可靠性模型以及相关的计算方示。 3.3...
特定第 3 方的普遍性是根据该第 3 方在您访问的网页上的使用频率来衡量的。这意味着第 3 方的普遍性将代表您的浏览历史,以及第 3 方是否在您访问的页面上被阻止。 更多详情、使用方法,请下载后阅读README.md文件
过程品质衡量方式的演进文件
计算机处理器性能的衡量.pdf
AppSpeedIndex 是一个用来统计打开页面需要多长时间的工具,用来衡量网站性能。通常以毫秒为单位统计时间。通常会从这几个维度来衡量网站性能:加载时间、开始渲染到结束渲染的时间、对比同类型网站的渲染时间等。 ...
该模型通过对位置临界点和速度进行综合模糊建模, 用模糊值精确衡量MANET中节点与链路的稳定性高低。理论和模拟分析证明了该模型能更有效地对MANET的稳定性和生存能力进行定量评估。在该模型下, MANET中节点与链路在...
3、吞吐量的计算公式指单位时间内系统处理用户的请求数从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量从网络角度看,吞吐
衡 量 通 信 系 统 的主要性能指标
TPC-C是一种旨在衡量联机事务处理(OLTP,又称业务处理系统)系统性能与可伸缩性的行业标准基准测试项目。 tpmC((Transaction Per Minute): TPC-C每分钟的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数...