This document explains the hardware sizing and high availability setup for FileCloud deployments.
- The FileCloud system can be deployed on physical servers
- FileCloud Server can also be deployed in a virtualized environment (VMware, XEN)
- The FileCloud system integrates with any NFS, CIFS, SAN appliance, or s3 compatible object-storage system for file storage
FileCloud Hardware Sizing
The following table shows the underlying usage assumptions to calculate FileCloud Hardware requirements.
The model assumes:
- A user interacts 60 times per days using one of the FileCloud clients (browser, mobile app, Drive client)
- Every user synchronizes data with a sync client on an average of 2.5 computers
Based on these usage assumptions, FileCloud servers need to handle:
- 290-300 calls per second
- To support 3000 users
FileCloud Performance Model
Browser + Mobile + Drive Apps
Browser + Mobile + Drive Client Interactions Per Day
No of API calls per Interaction
Calls Per Second Per User
Desktop Sync App
% of Users using sync app
Sync Check Frequency (secs)
Sync App Online (Hours)
Calls Per Second per User
Total Calls Per Second Per User (Sync + other Apps)
Total users in installation
Total Calls Per Second
Server Handles Requests Per Second
8-16 CPU 2.6 GHz Intel Xeon with 32 GB RAM
To calculate how many web server nodes you will need to support based on number of users, you can use the linked spreadsheet.
The following diagram explains the FileCloud High Availability Setup
|Web App Server|
1 AWS m4.2xlarge instance can handle approximately 125-150 FileCloud requests per second.
To handle 3000 users one will require 2-3 web server instances with m4.2xlarge configuration.
AWS m4 instances uses processors identical to Intel E5-2670 v3 processors.
To equate this to a virtualized environment, you will require 3 VM nodes and each node need to have the following specs: 8 vCPUs and 32 GB RAM.
SSDs are recommended for application servers.
You must have a software (haproxy) or hardware load balancer for the web application servers.
In a virtualized environment, a load balancer is equivalent to a computer with the following specs:
If you choose to go with HAPROXY, you must use one of the specs for the load balancer:
You will need a 3 node MongoDB replica set for FileCloud HA configuration.
You can probably use 1 TB SSD for each of the node.
It is ideal if the MongoDB node VMs can be housed in different physical host.
For the front-end network, the following is recommended:
For internal networking between the servers, the following is also recommend:
Each server should have a dedicated connection to:
If an average usage is 5-10 GB per user, then you will require: