Webfileupload control: Speed and memory requirement


I use the XOJO Webfileuploader sample project for some tests.

I connect to the WE application from my workstation over a LAN and upload a file of 100 MB size.
On my workstation I use Firefox and Windows7, the WE app runs on a Windows2003 Server (3GB memory)

I was surprised about 2 things:
-it takes almost 4 minutes to upload the 100MB over the LAN
-when I try to upload a 300MB file the upload starts but after some minutes the WE app on the server crashes
(I think that I have enough memory on the server…at least 300MB)

My questions are:
-why is the upload speed so slow over LAN?
-What are the memory requirements on the server side for uploading big files using Webfileuploader?
So if I need to upload a 300MB or 500MB file - how much memory is required on the server?


There are some known (reported and unreported) bugs that affect this. And then there’s just the general overhead of dealing with a 100MB or 300MB object once you’ve got it. For files that large, you might be better off using an alternative upload system, e.g. through Apache. Standard web server is better tuned to the task.

jQueryFileUpload in Web Custom Controls is faster, but not as fast as I would expect over my LAN. I don’t recall thinking there were any performance issues in tests to my own server. It seemed to be close to what I expected given my Internet connection to the server. There may be some bottleneck that only comes into play at LAN speeds. I’ll test and try to optimize it for the next release.

On FireFox and Chrome it supports direct to disk uploads so that memory footprint is not an issue. If that feature is not used (incompatible browser or you don’t use it) then max file size will depend on memory available to the WE app as well as client browser limitations. I’ve tested memory based uploads into the hundreds of MBs, and direct to disk uploads to just past 1 GB.

Note: the demo at my site caps the number and size of files, but I can setup a private test for anyone interested.