Summary

Server sizing guidelines and recommended configurations for on-premises installation in customer environments.
On this page:

On-premises configurations

500 seats to 50,000 seats500 seats to 250,000 seats

Single Server Config

tachyon_singleserver_sizing

Split Server Config

tachyon_serversizing_splitconfig

 Small 1Small 2

Small 3

Small 4

Medium 1

Medium 2
Maximum number of devices5002,500

5,000

10,000

25,000

50,000
Tachyon Server
CPU cores2 Cores3 Cores3 Cores5 Cores6 Cores12 Cores
RAM8 GB10 GB

16 GB

18 GB

22 GB

32 GB
SQL Instance Max Memory1 GB1 GB2 GB2 GB4 GB8 GB
Number of Tachyon Switches111111
Network Interfaces111111
Disk space required for Database0.5 GB1.5 GB3 GB4 GB15 GB52.5 GB
SQL Server Disk space requirements breakdown
Tachyon Master Database MDF183 MB183 MB398 MB398 MB398 MB398 MB
Tachyon Master Database LDF8 MB8 MB72 MB72 MB72 MB72 MB
TempDB MDF64 MB64 MB64 MB64 MB64 MB64 MB
TempDB LDF8 MB8 MB8 MB8 MB8 MB8 MB
Tachyon Responses DB requirements breakdown
Number of concurrent questions1020252550100
Total Response DB storage per device0.1 MB0.2 MB0.2 MB0.2 MB0.5 MB1 MB
Tachyon Response Database MDF50 MB500 MB1 GB2 GB12.5 GB50 GB
Tachyon Response Database LDF50 MB400 MB1 GB1.25 GB1.5 GB1.5 GB
 Small 1Small 2Small 3

Small 4

Medium 1

Medium 2

Large 1

Large 1.5Large 2Large 2.5
Maximum number of devices5002,500

5,000

10,000

25,000

50,000

100,000

150,000200,000250,000 
Tachyon Server 
CPU Cores1 Core2 Cores2 Cores3 Cores4 Cores8 Cores12 Cores16 Cores20 Cores24 Cores
RAM6 GB8 GB12 GB14 GB16 GB24 GB

42 GB

60 GB78 GB

96 GB

Number of Tachyon Switches1111112345
Network Interfaces1222223456
Database Server
CPU Cores1 Core1 Core1 Core2 Cores2 Cores4 Cores5 Cores6 Cores7 Cores8 Cores
RAM4 GB4 GB6 GB6 GB8 GB12 GB16 GB20 GB24 GB28 GB
SQL Instance Max Memory1 GB1 GB2 GB2 GB4 GB8 GB12 GB16 GB20 GB24 GB
Disk space required for Database0.5 GB1.5 GB3 GB4 GB15 GB52.5 GB153 GB228.5 GB404 GB504 GB
SQL Server Disk space requirements breakdown
Tachyon Master Database MDF183 MB183 MB398 MB398 MB398 MB398 MB415 MB415 MB415 MB415 MB
Tachyon Master Database LDF8 MB8 MB72 MB72 MB72 MB72 MB328 MB520 MB520 MB520 MB
TempDB MDF64 MB64 MB64 MB64 MB64 MB64 MB64 MB64 MB64 MB64 MB
TempDB LDF8 MB8 MB8 MB8 MB8 MB8 MB8 MB8 MB8 MB8 MB
Tachyon Responses DB requirements breakdown
Number of concurrent questions 1020252550100200200250250
Total Response DB storage per device 0.1 MB0.2 MB0.2 MB0.2 MB0.5 MB1 MB1.5 MB1.5 MB2 MB2 MB
Tachyon Response Database MDF 50 MB500 MB1 GB2 GB12.5 GB50 GB150 GB225 GB400 GB500 GB
Tachyon Response Database LDF 50 MB400 MB1 GB1.25 GB1.5 GB1.5 GB2 GB2.25 GB2.75 GB3 GB

Tachyon Switch Server Sizing

  • The recommended configuration for the Tachyon Switch when hosted separately on its own server is 2 CPU Cores and 16 GB RAM.

Benchmarking Hardware

  • Benchmarked on Windows Server 2012 R2 Hyper-V infrastructure, with Database and Application Server components setup on separate VMs hosted on same physical host.
  • CPU: Hyper-V Host CPU configuration - 2x Intel Xeon CPU E5-2867W v3 @ 3.10 GHz, 25MB Cache, 10C/20T, Max Mem 2133MHz.
  • Network: Application server and Database server were connected over a 10Gbps link through a 10Gbps physical switch. External connections for the VMs were over a 1Gbps link through a 1Gbps physical switch.
  • Database storage:
    • Intel DC P3700 Solid State Drives (SSDs) with up to 450K/175K IOPS (4K random read/write QD32), and Samsung 850 PRO SSDs with up to 100K/90K IOPS (4K random read/write QD32), attached locally to the Hyper-V host.
    • MDF, LDF and TempDB files on separate disks, with MDF on Intel DC P3700 SSDs, and LDF and TempDB on Samsung 850 PRO SSDs.

Other Recommendations

Physical or VM

  • The servers can be deployed either on physical or virtual machines. For deployment on a virtual machine, the CPU cores should be assigned at 100% virtual machine reserve. 

Network

  • For a remote (split) server configuration, the Tachyon Server requires a dedicated network interface (MAC Address and IP Address) for connection to the remote SQL Server instance used for the Responses database. 
  • This dedicated SQL connection must be at least 1Gbps for Lab, Small and Medium environments (< 100000 devices) and at least 10Gbps for Large environments (> 100000).

Database Server

  • Split Data, Log and TempDB on separate disks for medium and large configurations.
  • SQL Server must be configured with maximum server memory limit and not left at the default setting to consume unlimited memory.
  • For sizing the Database server in the recommendations above, 4GB RAM has been added for the operating system on top of SQL Server instance RAM requirements.

Tachyon Server

  • In previous versions of Tachyon, you may have had to increase the UploadBatchSize value to 600 (default 300) in the Master database SwitchConfiguation table. This version of Tachyon does not require this configuration. If you changed this value in a previous version and have upgraded to the latest version of Tachyon, then you do not need to reset or change the value again.

Cloud configurations

The following tables describe the supported instance sizing for various numbers of supported clients for both single server and split server implementations, as per on-premises sizing.

When compared with the on-premise sizing guidelines these instance sizes will generally provide a greater number of CPU cores and/or memory. There is an overhead inherent in commodity virtualized cloud computing solutions which prevents them from providing exactly the same level of performance as dedicated on-premise virtualization solutions. In some cases it is also necessary to provide more of a particular resource type than required in order to get sufficient levels of another resource type due to the limited number of instance configurations offered by the cloud provider.

Instance sizing is subject to change, and may not be available in all geographic regions.

AWSLabUp to 500Up to 2.5KUp to 5KUp to 10KUp to 25KUp to 50K
Tachyon with local SQL Servert2.mediumm5.largem5.xlargem5.xlargem5.2xlargem5.2xlargem5.4xlarge
Tachyon Servert2.smallm5.largem5.largem5.xlargem5.xlargem5.xlargem5.2xlarge
Remote SQL Servert3.mediumr5.larger5.larger5.larger5.larger5.xlarger5.2xlarge
AzureLabUp to 500Up to 2.5KUp to 5KUp to 10KUp to 25KUp to 50K
Tachyon with local SQL ServerA2_V2A4_V2D3_V3DS12_V2DS4_V2DS4_V2F16S
Tachyon ServerA1_V2D2_V3D11_V2D11_V2D4_V3D12_V2DS4_V2
Remote SQL ServerA2_V2DS2_V2DS2_V2DS2_V2DS2_V2DS2_V2DS3_V2


AWS Network Configuration

For a split server installation it is necessary to configure an additional network interface into each server to guarantee a dedicated 1Gbps network channel between the core and the database. Enhanced networking (SR-IOV) must be enabled on both of these NICs which should be the default. Detailed steps on how to verify this are given here - http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/sriov-networking.html. Also increase the transmit (TX) and receive (RX) buffer sizes to their maximum under the network adaptor advanced properties.

Azure Network Configuration

For a split server installation it is necessary to configure an additional network interface into each server to guarantee a dedicated 1Gbps network channel between the core and the database. Enhanced networking (SR-IOV) must be enabled on both of these NICs where this is available (only on instances with 8cores or more) and must be enabled during instance creation. The additional NIC must also have accelerated networking enabled using Azure Powershell or Azure CLI. Detailed steps on how to configure this are given here - https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-vm-accelerated-networking. Also increase the transmit (TX) and receive (RX) buffer sizes to their maximum under the network adaptor advanced properties within the guest OS.

If connecting to an Azure based Tachyon switch via external public Azure IP addresses or Azure Load Balancers you will need to extend the default TCP timeout from 4 seconds to 15 seconds - Detailed steps on how to do this can be found here -  https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/

AWS Database Storage Configuration

Database instances (either combined or the database server in a split implementation) should use an additional Throughput Optimized SSD (ST1) EBS volume to guarantee sufficient disk performance. This is used for all database storage - data, log and tempdb. The specified instances do not support any more than one EBS volume. If you wish to separate data, log and tempdb onto separate volumes (as per Microsoft recommendations) you will need a higher spec instance for the DB server, one that will allow you to attach more volumes and allow higher throughput to disk.

For any implementation other than Lab the Elastic Block Storage (EBS) optimization must be enabled, either when the instance is originally launched or afterwards. Details on how to do this can be found here: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html

Azure Database Storage Configuration

Database instances (either combined or the database server in a split implementation) should have a minimum of 2 SSDs for database files. One for the Tachyon data files and tempdb and the other for the log files.

Disable caching on the volume used for the SQL log drive. This is done on the Azure console and not within the guest. Remember to restart the DB server VM once this is changed.

Do not use geo-redundant storage for any of the SQL drives.

A full list of optimizations for running SQL on Azure is available here:  https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-performance