|
ABCUpload .NET incorporates our proprietary GigUpload Technology.
Our Progress Module picks up ongoing uploads and uses a number of
high performance techniques to allow uploads of virtually unlimited
size. Whether you want to upload KB or GB your choice has to be
ABCUpload!
So why not use the standard ASP.NET classes?
The standard ASP.NET classes cache the entire upload in memory.
Not only does this have performance implications but it also inherently
limits the size of ongoing uploads. When ASP.NET memory use reaches
60% of available RAM the whole of ASP.NET is restarted.
The time that large uploads takes can create a vicious cycle in
which ASP.NET uses excessive amounts of memory. Just assume you're
getting ten new visitors every minute. Each visitor uploads one
20 MB file which takes 20 minutes to complete. This means that there
are a total of 200 ongoing uploads - each using an average of 10
MB of RAM - a total of 2 GB. Even if your server has 2 GB of RAM
ASP.NET will restart after only 1.2 GB has been used and that doesn't
even allow for other use by ASP.NET.
Server Memory and Processor Use
The following graph shows memory (% Committed Bytes) and processor
use (% Processor Time) for a large upload under ASP.NET. Memory
use is in red and processor load is in green.
Note that as the upload progresses, more and more memory is used.
When data transfer has stopped and the upload is being processed
memory use jumps even higher. Because of the way that garbage collection
works under .NET it may be some time before this memory is reclaimed
even after the upload has finished.

GigUpload Technology
The following graph shows memory (% Committed Bytes) and processor
use (% Processor Time) for a large upload under ASP.NET using GigUpload.
Memory use is in red and processor load is in green.
Memory use is constant and negligible. Processor load is also slightly
reduced and because the processing of the upload is a continuous
multithreaded process again the load is more constant.

Background
Our tests were performed on Windows 2000 Server SP2 with .NET RTM
installed. Our server was a Dual Processor PIII 550 MHz with 768
MB RAM.
|