Upload Large Files

A collection of information about Vault, including solutions to common problems.

Moderator: SourceGear

Post Reply
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear

Upload Large Files

Post by Beth » Fri Aug 16, 2013 9:30 am

If the add of a file is failing, it could be due to the file size.

There are a couple of different solutions that may help:

1) Chunked Encoding. In the Vault client Tools - Options - Network Settings, change the setting for Chunked Encoding. This will send the data in smaller packets to the server.

2) Change the IIS Upload Limit. In the Vault admin web page, under Advanced Settings is an IIS Upload Limit. The largest number you can enter there is 1048576.

If you need larger, in some cases you can edit the web.config under vaultservice to take a larger number. Look for the line

<httpRuntime executionTimeout="86400" maxRequestLength="1048576" .... />

3) Change the Maximum allowed content length (Bytes). You can increase the max size of a file transfer accepted by IIS. There are multiple ways of accomplishing this.
  • 3a)
    • In the IIS Manager, click on the machine name, scroll the center pane to the bottom so that you see Management, and click on Configuration Editor.
    • In the Section dropdown, select system.webServer/security/requestFiltering.
    • Expand requestLimits.
    • Edit maxAllowedContentLength, click off the field when finished and click Apply. The max you can enter is 2147483648.
    • Perform an IIS Reset by going to Start - Run and typing iisreset. This will reset all websites and disconnect users, so you may need to perform this at a convenient time.
    Instructions with screenshots can be found here (not our site): Increase IIS File Upload Limits

    • Click on the web site where Vault Server is being hosted, and find the VaultService (or VaultPro) directory for which URL should be modified.
    • Make sure 'Features View' is selected at the bottom of the middle pane
    • Double click 'Request Filtering' from the 'IIS' section
    • On the right hand side, click the 'Edit Feature Settings...' link
    • In the 'Edit Request Filtering Settings' dialog, modify the Maximum allowed content length (Bytes) to a value large enough for a file transfer. - For example, 102400000 would be for 100MB (base 2)
    • Click OK
    • Restart the Web site by using the 'Restart' link on the right hand side.
    3c) Add the following to your web.config. Make sure you perform an iisreset to force the change to be loaded.
    • <system.webServer>
      <requestLimits maxAllowedContentLength="2147483648" />
4) Upload Timeout. In the registry where the client is located is a setting called UploadTimeoutSeconds. That is located at HKEY_CURRENT_USER\Software\SourceGear\VaultPro\Client\Settings. The default is 600. You can change the data to 6000, and very large uploads will usually work then.

5) Check the Vault Server Log. The Vault server log is found on the Vault server at %windir%\temp\sgvault\sgvault.log (typically C:\Windows\temp\sgvault\sgvault.log). You may have an error that the SQL database is out of space, the disk system is out of space, a SQL timeout or some other error. These errors can indicate what needs to be changed to upload the large file.

6) No Application Pool Recycling. Some application pools recycle for however much data has passed through or on regular time intervals. In your IIS Manager, turn off all Application Pool Recycling for both the application pools related to Vault and the one on the website that Vault runs under. In IIS7, this is done by selecting an Application Pool, then clicking the link under Actions called Recycling (not be be confused with the Recycle link). Uncheck all the recycling in the window that comes up.

7) Check your Proxy. It's possible for a proxy to have limitations. You might check those limitations or choose the options Do Not Use Proxy in the Vault client Tools - Options - Network Settings.

8_) IIS http post file upload limit. To solve this problem go to C:\windows\system32\inetsvr and edit metabase.xml after stopping IIS. The default setting of AspMaxRequestEntityAllowed is set to 204800. To allow for larger upload, increase this setting.

9) VPN. In some cases the issue lies with a VPN connection. Try uploading the file from a client is on the local network.

10) Other Network Issues. To rule out other networking issues, install a Vault client directly on the Vault server. Try the upload from that machine, but use localhost for the server connection so that the data transfer stays on the machine.

11) Out of memory. If you have out of memory errors on large uploads, then using a 64-bit system can get around that.

12) In IIS7, it has been reported it is possible to increase the limits properties on the website.
-Open Up IIS Manager
-Click on ASP
-Expand Limits Properties
-Change the Maximum Requesting Entity Body Limit to a much larger value. I would suggest adding 4 more 0's.

For users of Vault Folder Export Import.

All of the instructions in this article are relevant for the Vault Folder Export Import tool. When making changes, you will log in as admin or as a user with global admin privileges. Also, that should be the same user you will use on the export/import.

In addition to the above steps, you will also open your registry and go to HKEY_CURRENT_USER\Software\SourceGear\VaultPro\Admin\Settings. In there is a setting for DontUseChunkedHTTPTransfers. Make sure that is set to False, but close any clients on the machine before changing it to False so that they reload the setting.
Beth Kieler
SourceGear Technical Support

Post Reply