Page tree
Skip to end of metadata
Go to start of metadata

The FileFlex Enterprise system is a complex set of modules, and is therefore deployed as a virtual machine to greatly simplify deployment. Several different virtualization solutions are presently supported, including:

  • VMware Workstation 15, 16
  • VMware ESXi (vSphere) 6.0, 6.5, 7.0
  • Oracle VirtualBox 5.2, 6.0

Follow one of the provided guides to deploy the FileFlex Enterprise image using the virtualization technology of your choice.

Deploying on a NAS

When deployed on a NAS, a virtualization technology such as VirtualBox (or otherwise) will automatically be installed as a dependency of the solution.

Server Hardware Allocation Requirements

FileFlex Enterprise may be deployed on a variety of hardware configurations, with an underlying requirement of Intel x64 CPU architecture. When discussing deployment hardware, it is specifically with respect to the VM's allocation of hardware resources to the VM, rather than the total capacity of the underlying host machine. 

This document is focused on single-machine/VM deployments rather than a clustered deployment.

Server Hardware Requirements

The following table describes typical deployment configurations and capacities. Server hardware refers to VM-assigned resources.


MinimumMid-RangeHigh-End
CPU

Intel Core i3 2-Core @ 2ghz

Supports VT-x and AES-NI

Intel Core i7 4-Core or 6-Core @ 3ghz

Supports VT-x and AES-NI

Intel Xeon 8-Core or 10-Core @ 3ghz

Supports VT-x and AES-NI

RAM (assigned to VM)4gb8gb16gb
NetworkSingle 1GbE LAN PortDual 1GbE LAN Ports w/Aggregated LinksDual 10GbE LAN Ports
OSLinux based, with integrated virtualization supportLinux based, with integrated virtualization supportLinux based, with integrated virtualization support
Maximum Concurrent View-Only Conversions13-46-8
Max Suggested Users100025005000
Max Users in App (ram and cpu dependency)1505001000
Max Typical Active Browsing Users2080160
Max Typical Concurrent Transfers103060

Connector Agent Hardware Requirements

An important consideration when determining the hardware required for the connector agent is whether or not double encryption will be employed by end-users. When it is utilized, the burden of document conversion falls to the connector rather than the server, requiring a substantial increase in the hardware requirements with respect to CPU and RAM.

Connector Requirements Without Double Encryption

The following table describes typical deployment configurations and capacities for the FileFlex connector agent when double encryption is not used. Nearly any PC can be utilized in this case, and a reasonable NAS device is also an appropriate deployment as you can see in the table below.


MinimumMid-RangeHigh-End
CPU

ARM A8 Single Core @ 1ghz

ARM A9 Dual Core @ 1ghz

Intel Atom Quad Core @ 2ghz

RAM256mb512mb512mb
NetworkSingle 1GbE LAN PortSingle 1GbE LAN PortDual 1GbE LAN Ports w/Aggregated Links
OSLinux basedLinux basedLinux based
Storage7200rpm SATA Drives, < 10ms seek7200rpm SATA drive(s), <10ms seek

10000rpm SATA drive(s), <7ms seek

and/or SSD caching

Max Activations and/or Users100250500
Max Logged in Users (ram and cpu dependency)30125350
Max Typical Active Browsing Users1035100
Max Typical Concurrent Transfers51530 (may be IO limited)
Expected CPU% Use at Max Typical50%50%50%

Connector Requirements With Double Encryption

The following table describes typical deployment configurations and capacities for the FileFlex connector agent when double encryption is used. More powerful PC must be utilized, and only higher specification NAS devices should be considered.


MinimumMid-RangeHigh-End
CPU

Intel Core i3 2-Core @ 2ghz

Intel Core i7 4-Core @ 3ghz

Intel Core i7 8-Core @ 3.5+ghz

RAM4gb8gb16gb
NetworkSingle 1GbE LAN PortSingle 1GbE LAN PortDual 1GbE LAN Ports w/Aggregated Links
OSLinux basedLinux basedLinux based
Storage7200rpm SATA Drives, < 10ms seek7200rpm SATA drive(s), <10ms seek

10000rpm SATA drive(s), <7ms seek

and/or SSD caching

Max Activations and/or Users5007501000
Max Logged in Users (ram and cpu dependency)350500650
Max Typical Active Browsing Users100150200
Max Typical Concurrent Transfers30 (may be IO limited)30 (may be IO limited)30 (may be IO limited)
Maximum Concurrent View-Only Conversions137
Expected CPU% Use at Max Typical75%85%90%

View-Only Conversions

The advanced panel of the server administration contains a configurable property "Maximum concurrent view-only conversions". This defines the maximum number of view-only conversions that may execute at the same time. When a user chooses to view an office document within the application, a conversion is necessary. The number of conversions that can happen at the same time is directly connected to the amount of CPU and RAM allocated to the server. Each "concurrent view-only conversion" requires 1 dedicated CPU core, and 1gb of RAM.

On the server, we recommend adding 1 CPU core and 1gb of RAM for each additional 1,000 users added to the system, depending on the frequency with which they are viewing documents within the application, and the size of the documents they are viewing.

On the connector agent (when using double encryption), we recommend 1 CPU core (x86 at 3ghz) and 1gb of RAM for each additional view-only conversion. The frequency of document viewing/conversion is what will dictate the amount of CPU and RAM required on the connector agent.

Effect of RAM

The most important fundamental resource is RAM because several running processes are launched for data accumulation, proxying, data encryption, etc. A minimum of 4gb is required to run all needed services adequately. The maximum activations introduce a persistent RAM requirement, so a higher RAM total allows for more total activations/users. Simultaneous transfers also require more RAM. A larger cache allows for a larger number of "active users".

View-Only conversion is by far the largest consumer of RAM, and allocation must be made as indicated above.

Effect of Disk IO

The server is not critically bound to drive IO, so most typical well-functioning NAS drive deployments will be adequate. The connector however which is responsible for fetching files from the local device is tied to the IO performance of the device - especially the seek time. SSD caching schemes will greatly improve it's ability to deliver high numbers of files concurrently without overly slowing down the NAS's performance.

The exception is view-only conversions. If your use-cases involve a great deal of document viewing, then IO limitations may come into play and the deployment of an SSD-backed high performance data-storage solution is recommended.

Effect of CPU

The CPU is highly utilized for encoding/decoding of requests, so is directly related to the number of active users. It is also directly related to the number of high-speed transfers due to the active encryption. The CPU becomes especially important when dealing with 10GbE connections with clients located on the same high-performance network.

View-Only conversion is a large consumer of CPU, and allocation must be made as indicated above.

Effect of Network

The network is very important when dealing with a large number of concurrent transfers if one wants to maintain consistent local-network level performance. For the reasons described above, it's important to correlate the CPU with the network speed.

Clustering

When capacity becomes saturated, it is possible to deploy FileFlex in a clustered configuration. Supporting a clustered configuration requires dual networks, so it's important that such deployments have at least two network adapters. In a highly de-centralized deployment, the CPU and RAM become less important as the load is spread across several machines.



  • No labels