首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件上传Eclipse环境之间的速度差异并部署到tomcat webapp文件夹

文件上传Eclipse环境之间的速度差异并部署到tomcat webapp文件夹
EN

Stack Overflow用户
提问于 2013-10-08 07:44:41
回答 1查看 832关注 0票数 4

你好,我在struts2中用过commons-fileuplod

编辑:当我在eclipse with right click and run on server上运行我的演示时,上传文件所花费的时间非常少

代码语言:javascript
复制
**Run From ECLIPSE :**   
 File Size : 247 MB
    Time TAken By upload using Run On server From eclipse  :--> 2989 MS

在另一边,当我deploy same demo war file to Tomcat in webapps folder并运行时。因此,与以前的情况相比,上传文件需要更多的时间。(为什么时差这么大?)

代码语言:javascript
复制
**Run Using Deploy Demo In Tomcat :**
File Size : 247 MB
Time TAken By upload By deploed war file to tomcat web apps folder  :--> 14162 MS

我要改变java.io.tmpdir in MonitoredMultiPartRequest.java

代码语言:javascript
复制
        System.setProperty("java.io.tmpdir", "D:\\ankit");
        System.out.println("java.io.tmpdir :--> " + System.getProperty("java.io.tmpdir"));

        UploadListener listener = new UploadListener(servletRequest);
        // Create a factory for disk-based file items
        FileItemFactory factory = new MonitoredDiskFileItemFactory(listener);
        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        try{
            long start = System.currentTimeMillis();
            List items = upload.parseRequest(servletRequest);
            long end = System.currentTimeMillis();
            System.out.println("Time TAken By upload 3.2.1 :--> " + (end - start));
            getsystemDetail();
      } catch (Exception e){
        errors.add(e.getMessage());
    }

在这里,我提到我的日志:

从ECLIPSE运行的 :

代码语言:javascript
复制
==== System Property =========
java.io.tmpdir :--> D:\ankit
================================
Time TAken By upload File :--> 2989
==================================
##### Heap utilization statistics [MB] #####
Used Memory:46
Free Memory:85
Total Memory:132
Max Memory:675
File system root: C:\
Total space (mb): 79899
Free space (mb): 31833
Usable space (mb): 31833
File system root: D:\
Total space (mb): 158472
Free space (mb): 117366
Usable space (mb): 117366
This is ServletContext RealPath path ::--> D:\eclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FILEUPLOAD_DEMO_OldLIB\
File Uploaded Succ. TO ::-> D:\ankit\eclipse.zip

在Tomcat中使用Deploy运行 :

代码语言:javascript
复制
==== System Property =========
java.io.tmpdir :--> D:\ankit
================================
Time TAken By upload File :--> 14162
==================================
##### Heap utilization statistics [MB] #####
Used Memory:100
Free Memory:31
Total Memory:132
Max Memory:1820
File system root: C:\
Total space (mb): 79899
Free space (mb): 31830
Usable space (mb): 31830
File system root: D:\
Total space (mb): 158472
Free space (mb): 117358
Usable space (mb): 117358
This is ServletContext RealPath path ::--> D:\tools\tomcat7-6\webapps\FILEUPLOAD_DEMO_OldLIB\
File Uploaded Succ. TO ::-> D:\ankit\eclipse.zip
EN

回答 1

Stack Overflow用户

发布于 2013-10-17 20:50:22

假设您的250 to文件位于您的C:\上,并且您是从eclipse运行的,那么它将把文件复制到同一个驱动器到临时目录中。即使您的eclipse驻留在您的D:\中,它也使用您在eclipse配置中看到的Windows目录。在Tomcat测试中,它使用Tomcats目录,如配置中所示。

因此,如果您的文件位于C:\中,则如下所示:

从eclipse运行的

C:\myLargeFile.dat -> C:\Users\ANKITV~1.PAT\AppData\Local\Temp\myLargeFile.dat

在Tomcat中使用Deploy运行

C:\myLargeFile.dat -> D:\tools\tomcat7-6\temp\myLargeFile.dat

我不知道您的硬件设置,但是如果您的C:\是固态的,而D:\不是的话,结果会有很大的变化。即使使用高性能的硬盘,在硬盘之间传输时也会出现性能损失,您可以通过在两个驱动器之间复制一个大文件来见证这一点,但只需将文件复制到同一驱动器中的不同位置,并注意它需要多长时间(确保您复制了它,而不是移动它)。

一些测试这是否是问题的好方法:

  1. 将tomcat测试的临时目录更改为C:\。有关如何做到这一点的更多信息,请查看这篇文章:How is the Tomcat temp directory location defined?
  2. 将您的tomcat insallation移动到您的C:\,并再次测试它。相当不言自明,但如果您有系统变量或指向它的脚本,则可能会有更多的工作。
  3. 把你的250 it文件放进你的D:\,然后试着把它上传到你的tomcat测试中,看看时间间隔是否减小。

你能不能帮我们测试一下,让我们知道你发现了什么?我很想听听结果!下面是我所指的配置文件中的要点:

从eclipse运行的:

代码语言:javascript
复制
...
java.io.tmpdir=C:\Users\ANKITV~1.PAT\AppData\Local\T...
...

在Tomcat中使用Deploy运行

代码语言:javascript
复制
...
java.io.tmpdir=D:\tools\tomcat7-6\temp
...
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19241933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档