How to upload a fille of size ~1.5 GB

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
Sourav
Posts: 25
Joined: Fri Sep 09, 2005 9:30 am

How to upload a fille of size ~1.5 GB

Post by Sourav » Mon Sep 12, 2005 10:52 am

Hi ,

I am trying to upload a file that is 1.47 GB. The client log says the following

file1.bin (1505658706 bytes) is larger than the server's configured upload limit of 1048576000 bytes.

I understand the message but I cannot change the upload limit to any higher number than 1048576000 bytes.

I read in this KB that the max limit for binary file is 2 GB since that's the SQL Server limitation. The server where I am trying to upload has 3 GB of RAM and the IIS and SQL Server are both running in the same machine .

Is there a way to change the server's configured upload limit to any higher value to upload this file?

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Tue Sep 13, 2005 10:30 am

Are you sure you want a file this size in the database? The Vault Admin Tool limits the upload value to 1048576. More than that and you're looking at performance issues.

This info comes from other posts on the forum:
When uploading files, IIS uses huge amounts of RAM in order to process the file. You may need a server machine with over 2 Gig RAM to upload a 1.5 GB file . . .

On a normal Windows Server, any given process can only use a TOTAL of 2GB of memory. Not only does the 2GB include any new memory allocations, but also the currently allocated memory used by the Vault server, .Net Framework, loaded .dlls, etc.

So, when Microsoft's IIS buffers the uploaded single, large file, it may encounter an eventual failure, as the process will not be able to allocate any more memory when it hits the Memory limit threshhold.
Linda Bauer
SourceGear
Technical Support Manager

Sourav
Posts: 25
Joined: Fri Sep 09, 2005 9:30 am

Post by Sourav » Tue Sep 13, 2005 10:44 am

lbauer wrote:Are you sure you want a file this size in the database? The Vault Admin Tool limits the upload value to 1048576. More than that and you're looking at performance issues.
I know there is a huge performance hit and also the SQL Server growth issues. I think we need to have a workaround and will talk with the project team.

In the meantime I am currently evaluating Vault and I wanted to know the maximum limit of a binary file upload. We do have quite a few files that are in the range of ~200 MB and i found that those got uploaded in a reasonable time.

Is the limit 1048576 or this can be increased?

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Tue Sep 13, 2005 12:46 pm

The native IIS upload handler stores the entire file in memory. By default, any Windows process has a limit of 2 GB of memory. In order to not starve the Vault server of memory, the Vault Admin Tool limits file uploads to 1 GB (1048576 KB).

Now, you could theoretically try to change things, but that would include using a Windows Server with the /3GB switch, modifying .Net's machine.config for the memory limit % and then changing Vault's web.config to have a larger maxRequestLength in a text editor.

For more information about these settings, please refer to Microsoft's
PRB: Cannot Upload Large Files When You Use the HtmlInputFile Server Control KB article for IIS 5.0.

For IIS 6.0, take a look at the Application Pool in which the Vault server is running. The memory configuration are properties of the App pool.

The /3GB switch info - Memory Support and Windows Operating Systems

HTH
Last edited by jclausius on Tue Sep 13, 2005 12:57 pm, edited 1 time in total.
Jeff Clausius
SourceGear

Sourav
Posts: 25
Joined: Fri Sep 09, 2005 9:30 am

Post by Sourav » Tue Sep 13, 2005 12:55 pm

Thanks for explaining the reason and the workaround.

We will not store the 1.5 GB files in source control anymore since its not a good idea to do it anyway.

But at the same time its good to know why we cannot store it and thanks for your explanation.

Post Reply