- 浏览: 130784 次
- 性别:
文章分类
最新评论
-
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 15600.6.1版本主要修复了JQuery-form提交ajax请 ... -
fastupload 0.6.0发布
2013-06-23 18:24 1771Fastupload 0.6.0完善或者新增加的功能有: ... -
uProfiler使用指南
2013-06-13 14:43 1552简介: uProfiler Community是面向主题 ... -
uProfiler Community 1.0发布
2013-06-08 09:39 1986uProfiler Community 1.0是面 ... -
fastupload-springmvc 0.5.5发布
2013-04-15 21:55 1999fastupload-springmvc是利用f ... -
Fastupload 0.5.3发布
2013-01-05 19:55 991相对于以往的版本,fastupload 0.5.3做出了明 ... -
fastupload已发布至maven中心库
2012-11-29 09:44 1026为了让大家更方便的使用fastupload开源项目,fastu ... -
白话MVC(五)初窥Spring MVC
2012-11-22 21:17 2244在 为 struts2 项 目写完 fastuplo ... -
Fastupload 0.4.7发布,支持struts2
2012-10-28 20:56 1756Fastupload 0.4.7这个版本中主要增加了支持str ... -
白话MVC(四)为Struts2编写文件上传插件
2012-10-28 20:47 3158Struts2中,在Dispatcher.java ... -
Fastupload 0.4.2发布
2012-10-19 12:05 1542更新:fastupload 0.4.2支 ... -
fastupload召集开源开发志愿者
2012-10-11 19:57 98fastupload开源项目自发布0.3.5版本后,文件上传的 ... -
白话MVC(三)Struts2拦截器巧妙装配Model Bean
2012-10-12 18:02 2030白话MVC(二) 在Struts的过滤器中,经过调用Prep ... -
白话MVC(二)Struts2中Model的处理基础-ActionContext
2012-10-09 13:17 2433白话MVC(一) ... -
白话MVC(一)Model的产生及处理
2012-09-29 00:36 34644白话MVC(二) 最近在带一“徒弟”,领悟能力很高,对我 ... -
fastupload API开发快速上手
2012-09-01 16:36 2881fastupload提供两种从multipart/form-d ... -
文件上传的秘密(五)0.31版本功能基本完备
2012-08-26 21:15 1391fastupload 0.31版本上周已经发布,因为工作的关系 ... -
fastupload 0.3.1发布
2012-08-21 15:25 1723fastupload根据RFC 1867文档 ... -
开源项目fastupload 0.2.3发布
2012-07-06 17:19 1996fastupload 0.2.3发布,增加了对sub-boun ... -
文件上传的秘密(四)大小限制与进度
2012-05-28 14:27 8403RFC1867规范中,对表单上传文件的大小和进度都没有作出规定 ...
相关推荐
总结来说,【压力及稳定性分析--性能测试报告】是IT项目中的重要文档,它帮助开发团队和决策者理解系统的性能边界,识别性能问题,从而优化系统设计,提高用户体验。在整个测试过程中,性能分析是核心,它涉及到系统...
例如,“天河一号 A”硬件架构的分析中,就可以看到“天河一号 A”在基本组织架构上和之前的“天河一号”比较相似。“天河一号”系统共有 5120 个图形加速处理器(GPU)和 6144 个通用处理器(CPU),峰值速度达1206...
实验报告“自动化实验报告 - 典型系统动态性能和稳定性分析”主要关注的是二阶系统的动态行为和稳定性,这是自动化领域中的核心概念。在控制系统设计和分析中,了解系统对阶跃输入的响应以及如何调整参数以优化性能...
《典型系统的时域响应和稳定性分析》 时域响应和稳定性分析是控制系统理论的重要组成部分,主要探讨系统在受到外部输入后如何响应,并判断系统是否稳定。在这个领域,频率响应法是一种常用的分析工具,它源于通信...
综上所述,性能测试和稳定性分析是确保IT系统高效、可靠运行的关键。通过对响应时间、并发用户数、吞吐量、性能计数器和稳定性指标的深入理解和计算,我们可以更好地识别和解决潜在的系统问题,提高服务质量。
在系统稳定性方面,有三个基本的稳定性类型:绝对稳定性、相对稳定性和渐近稳定性。一个系统被认为是稳定的,如果所有闭环极点都位于s平面的左半部分。如果极点在虚轴上,系统可能表现为振荡,这称为临界稳定。而...
在IT行业中,性能测试是确保系统稳定性和可扩展性的重要环节,特别是在大数据、云计算和分布式存储等领域。 首先,我们要理解OPS的概念。OPS是指系统在一秒钟内能完成的操作数量,它可以用来衡量系统处理速度或吞吐...
这份文档应该会阐述如何设计实验来测试算法的稳定性,比如选择哪些测试数据,如何定义和衡量稳定性,以及对结果的解释。通过阅读这份文档,我们可以深入理解数值稳定性的重要性,并学习到如何在实际操作中评估算法的...
SenC(n=1-8)团簇稳定性和金属性的研究,岳莉,吴位巍,本文利用密度泛函理论框架下的BLYP交换关联函数对BenC (n=1-8)团簇稳定性和金属性进行较系统的研究。结果表明,C原子的掺杂不仅明显提�
综上所述,衡量计算机性能的标准主要包括响应时间、CPU时间、性能因子CPI、时钟频率、指令数等参数。常用的性能指标有MIPS和MFLOPS,它们分别用于评估整型运算能力和浮点运算能力。此外,通过分析技术、模拟技术和...
总之,"Untitled2_稳定性叶瓣图_叶瓣图_切削叶瓣图_切削稳定性_颤振稳定_源码.zip"这个文件包提供了关于机械加工中颤振分析的工具和算法,对于优化切削工艺,减少颤振问题,提高生产效率和产品质量具有重要意义。...
衡量系统分析的目的是为了确定衡量系统的可靠性和稳定性,以便确保衡量结果的准确性和一致性。 六西格玛进程图是衡量系统分析的重要工具之一。它可以帮助我们了解衡量系统的整体性能,并对衡量系统进行优化和改进。...
Web服务的稳定性、负载测试和可靠性测试是保证系统性能和用户体验的关键环节。本文将深入探讨这些测试的概念,方法以及在实际测试过程中的应用。 首先,稳定性测试是衡量系统在长时间运行下保持正常服务的能力,...
在这份文档中,将重点分析和对比在不同操作系统环境下,即Windows系统和Linux系统中,三种常见的文件共享协议:iSCSI、CIFS和NFS的性能评测。这三种协议在IT行业中的网络存储和文件共享领域扮演着重要的角色。 首先...
综上所述,汽车的制动性能和操纵稳定性是汽车安全性和驾驶舒适性的重要指标。通过科学的检测方法和优化的制动系统设计,可以提升汽车在各种环境下的行驶安全性。对于车辆使用者来说,了解这些知识有助于更好地理解和...
总结起来,神经网络指数稳定性的Simulink仿真是一种有效的分析方法,它可以帮助我们理解和优化神经网络的性能,尤其是在训练过程中避免陷入局部极小值或者不稳定的动态行为。通过对`simulation_ex3.mdl`和`...
ISO标准为国际公认的基准,用于衡量车辆在进行直线行驶、转向、制动等操作时的响应性和稳定性。这些标准通常包括但不限于以下几个方面: 1. 定义车辆操纵稳定性的参数:ISO标准详细定义了测量和评价车辆操纵稳定性...
【压缩包子文件的文件名称列表】:由于只有一个总的文件名“精品TI资料_运放稳定性分析连载”,这可能意味着压缩包内包含了多个部分或章节,每个章节可能分别探讨了运放稳定性的不同方面,如开环增益、波特图分析、...