This document explains the hardware sizing and high availability setup for FileCloud deployments.
The following table shows the underlying usage assumptions to calculate FileCloud Hardware requirements.
The model assumes:
Based on these usage assumptions, FileCloud servers need to handle:
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: