John's Blog: Multi-File Download Limits

July 17, 2015

Via the Web File Manager, users can download multiple files, or even entire folders, in a single transfer. It's a handy feature that has become popular with Rumpus administrators, but there are practical limits to what is possible, so there are settings in Rumpus to ensure that the feature doesn't overwork the server.

When web browsers perform a download, they receive the transfer as a single file. So, when a user performs a multi-file download (whether it is several individually selected files or the entire contents of a folder), Rumpus must first create a single zip archive of all of the files requested, then send that zip archive as the download. It's the creation of the zip archive that can strain the server.

On the Web Settings window, "Options" tab, you will find settings that set limits on the number of files that can be downloaded at once, and the maximum size of the content. By default, Rumpus restricts multi-file downloads to 300 MB of content or 500 individual files. If a user attempts to download more content than is allowed, an error is displayed explaining that the download requested is too large to be completed as a single action. As the system administrator, you can increase or decrease these limits to suit your needs.

It is important to note, however, that settings these values to allow massive downloads is not practical and will result in errors and delays. Browsers will time out downloads that don't begin within a few minutes (or less), so if the creation of the zip archive takes too long, an error is bound to occur. If this happens, the user experiences a delay of several minutes before getting an unhelpful "failed to respond" error, while the server has wasted significant resources generating a zip archive that can never be downloaded. Reasonable multi-file download limits allow Rumpus to quickly provide a more accurate warning message, while avoiding dragging down the server trying to satisfy a request that is doomed to fail.

The limits you set should be based on the contents of your server and the performance of the hardware itself. CPU speed, available memory, storage performance and other factors dictate how long it will take to perform creation of zip archives. The absolute most time a multi-file zip archive should require to generate is 2 minutes. Whatever values you set as the multi-file and folder download limits, your server should be able to generate a zip archive of that amount of data within the 2 minute time frame.

In other words, while downloading multiple files at once is very handy, there is a practical limit to how much data can actually be transferred at one time. It is far better for the server to impose those limits than to spend resources trying to satisfy a request that has no chance of succeeding. As the server administrator, it's up to you to decide what is practical and necessary for your users and set the limits accordingly.

© Copyright 2018, Maxum Development Corp.