Quotas#


Each VFS in the User Manager can have a quota configured on it. This quota applies to all subdirectories from where the quota is configured. The quota is calculated in realtime as the user navigates each folder. This can be CPU/Disk intensive if the user has access to large directory structures with many thousands of files.

The quota config has a few different options.

1.) Credit based quota - the actual size of files on disk is irrelevant, the quota is simply a value that decreases when the user uploads, and increases when they delete files. This is not CPU/Disk intensive, although it does require updating the user profile at every logout with the new values. This is not appropriate for a user using many threads to do file transfers as this causes synchronization issues. The value configured is always changing based on their upload/delete actions.

2.) Real file quota - this is the traditional and normal way to calculate a quota. The directory the user is navigating is scanned to learn the size of files in those directories. The configured value never changes, its just compared with the calculated size. There is some caching to improve performance, but there is still always some intensive CPU/Disk operations to build the value.

3.) Async Quota - this modifies the real file quota behavior by periodically scanning all users who have a real file quota configured, and updating a memory cache of the sizes of their folders. This is appropriate for getting approximate quota values, but not precise values. This uses CPU/Disk for one single thread periodically instead of on demand for every location a user is navigating. To enable this, set the value "quota_async" in prefs.XML to true. The default "quota_async_cache_interval" is 60 minutes for how frequently it scans all user's quota sizes. This Async Quota does require all users to be in the User Manager.

4.) User level quota - this configuration in the User Manager will apply a quota to all VFS folders a user has, except folders where another quota has been specifically applied and overrides this value. The purpose of this quota config is to allow easy configuration to many users at once or via inheritance.

5.) User quota directory - this is meant to apply to a relative location for the quota. Typically it would be "../". When calculating the quota, it calculates the relative location. Think of this like a configuration for a group of users where you want them all to share in the max quota size, but each has access to specific subfolders. So user1 can be taking from the same quota value that user2 is using as well.


When a quota is configured, it is displayed at the top of the WebInterface, or in the FTP client's log. SFTP has no support for displaying the quota value.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-4) was last changed on 28-Sep-2021 02:16 by Ben Spink
G’day (anonymous guest)
CrushFTP10 | What's New

Referenced by
...nobody

JSPWiki