FileCloud Sizing Guide

This document explains 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 used 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)


User Counts

Total users in installation


Total Calls Per Second


Server Performance

Server Handles Requests Per Second


Servers Needed



8-16 CPU 2.6 GHz Intel Xeon with 32 GB RAM

~125-150 reqs/sec

To calculate how many web server nodes you will need to support based on number of users, you can use the linked spreadsheet. 

FileCloud Sizing Model.xlsx

High-Availability Requirements

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. 

Load Balancer

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:

  • 1-2 vCPU
  • 4-8 GB RAM

If you choose to go with HAPROXY, you must use one of the specs for the load balancer:

  • m4.large
Database Server

You will need a 3 node MongoDB replica set for FileCloud HA configuration.

  • Each node must have the specs of m4.xlarge or equivalent configuration.  
  • In a virtualized environment it is equivalent to 8-16 vCPU and 16-32 GB RAM.
  • More RAM is better for the Database because MongoDB keeps the working set in RAM
  • SSDs are recommended for database servers

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:

  • A gigabit or 10GigE network leading to a load balancer and from the load balancer to the 3 web app servers.
  • At least a gigabit Ethernet

For internal networking between the servers, the following is also recommend:

  • At least a Gigabit Ethernet to reduce the potential for bottlenecks.

Each server should have a dedicated connection to:

  • Database cluster
  • File storage (CIFS, NFS or SAN).
File Storage

If an average usage is 5-10 GB per user, then you will require:

  • 25-30 TB space (3000 users) in your storage appliance
  • Storage must be exposed as CIFS or NFS share in the web application server instances