Server Weight — how new uploads are shared
On Admin → Servers → Servers management, the table has a Weight column. Weight answers one question:
> When a member uploads a new file, and several storage servers are eligible, which server should receive it?
Weight is a share of new uploads. A higher number means that server is picked more often. It is not a speed limit, not disk size, and not a hard “always use this server” switch.
---
Where to find it
Admin → Servers → Servers management
In the servers table:
| Column | Role |
|---|---|
| Name | Server / CDN label |
| On | Enable / disable |
| Weight | Share of new uploads among eligible ON servers |
| Status | Health / connection |
| Actions | Edit, delete, etc. |
Edit the number in the Weight cell and leave the field (blur) to save. Allowed values: integer from 1 to 10,000. Default for new servers is usually 1.
Column hint in the admin UI: *Share of new uploads among ON servers (weighted random). Higher weight = picked more often.*
---
How it works (plain language)
1. A member starts a new upload
2. XFile Ultra builds a list of servers that are allowed to take that upload (see “Who is eligible?” below)
3. If only one server is on the list → that server gets the file (weight does not matter)
4. If several servers are on the list → XFile Ultra picks one with weighted random:
- Each eligible server gets tickets equal to its Weight (minimum 1)
- Total tickets = sum of all weights
- One ticket is drawn at random → that server stores the new file
So weight is like lottery tickets for new uploads only.
---
Who is eligible? (Weight only counts among these)
A server only enters the weight lottery if it passes the upload gates, including:
| Requirement | Meaning |
|---|---|
| Not in trash | Server is not deleted |
| Health ok | Status / health check is healthy |
| Status ON | Not OFF, not READONLY (read-only blocks new uploads) |
| Targeting | Member is allowed (regular / premium / selected users) |
| Geo (if set) | Uploader’s country is allowed |
| Disk cap (if set) | Server is not over max disk |
| Remote node | Connected (if it is a remote storage node) |
| CDN | CDN plugin licensed and credentials configured (if it is a CDN) |
Weight does not override those rules. An OFF or unhealthy server with weight 10,000 still gets zero new uploads.
---
Examples
Example 1 — Equal share
| Server | Weight |
|---|---|
| Local disk | 1 |
| Wasabi CDN | 1 |
Total = 2.
Over many uploads, each should get about 50% of new files.
---
Example 2 — Prefer the CDN
| Server | Weight |
|---|---|
| Local disk | 1 |
| Wasabi CDN | 3 |
Total = 4.
- Local ≈ 1/4 = 25% of new uploads
- Wasabi ≈ 3/4 = 75% of new uploads
Use this when the CDN is cheaper or faster and local disk is only a backup path.
---
Example 3 — Soft 70 / 30 split
| Server | Weight |
|---|---|
| DigitalOcean Spaces | 70 |
| Contabo Object Storage | 30 |
Total = 100.
- DigitalOcean ≈ 70%
- Contabo ≈ 30%
Same idea as 7 and 3 — only the ratio matters, not the absolute size. 7 and 3 behave like 70 and 30.
---
Example 4 — Three servers
| Server | Weight | Expected share |
|---|---|---|
| Local | 1 | ~10% |
| R2 CDN | 4 | ~40% |
| Amazon S3 | 5 | ~50% |
Total = 10.
---
Example 5 — Weight ignored (only one eligible)
| Server | Status | Weight |
|---|---|---|
| Local | ON | 1 |
| Wasabi | OFF | 100 |
Only Local is eligible → every new upload goes to Local. Wasabi’s high weight does nothing while it is OFF.
---
Example 6 — One member, one geo-limited server
Server A: Weight 1, allowed countries = US only
Server B: Weight 9, no geo limit
- Uploader in the US → both eligible → B gets ~90%, A ~10%
- Uploader outside the US → only B is eligible → B gets 100%
Weight is always computed on the eligible list for that upload, not on every row in the table.
---
What Weight does not do
| Misconception | Reality |
|---|---|
| Moves existing files | No. Old files stay where they are until you use Transfer / transfer queue |
| Controls download routing | No. Downloads go to the server that already holds the file |
| Affects transfer queue | No. Transfers ignore Weight |
| Guarantees exact percentages every day | No. It is random with weights — over many uploads it trends toward the ratio |
| Bypasses OFF / READONLY / health | No. Those servers are skipped first |
| Means “disk capacity” | No. Use Max disk (and monitoring) for capacity; Weight is only traffic share |
---
Practical tips
1. Start all new servers at 1, then raise the preferred CDN to 2, 3, or 9 once Test connection is green
2. To drain a server of new uploads: set status to READONLY or OFF (do not rely on weight 1 alone if others are also 1)
3. To send almost everything to one CDN: give it a high weight (e.g. 9) and keep others at 1 — or turn others READONLY
4. After changing weights, watch the Files counts over time; short tests of 2–3 uploads can look “unfair” because of randomness
---