Sizing Guidance
For guidance on hardware sizing refer to the Genesys Sizing Calculator. The Genesys Sizing calculator helps you evaluate resource utilization based on your requirements and make the proper hardware choice.
Orchestration Persistence - System Configuration and Storage
Orchestration Persistence is not commonly used, but this section provides you some sample guidelines to help understand the factors that must be considered in terms of system configuration and Cassandra sizing when persistence is enabled.
Consider a contact center with around 4.5 million interactions per year, 250 working days a year, and 12 business hours a day. That will approximately work out to around 25 interactions per minute. For this minimal traffic, the following basic system configuration is recommended:
- three nodes for a quorum
- each node with 8GB for the JVM
- multiple cores (2+)
- local secondary storage
Sample Disk Space Storage Calculation
The following disk space storage calculation table provides a sample estimate for:
- 5000 active sessions with session persistence enabled,
- average session JSON size of 45K,
- and 2 Cassandra nodes with a replication factor of 2.
NR (Number of Rows) | Assumes 5,000 active sessions | 5,000 | |
NC (Number of Columns) - per Row | 1 for Session, 2 for SessionIDServerInfo | 3 | |
CNS (Column Name Size) - in bytes | UTF(8) | 8 | |
CVS (Column Value Size) - in bytes | Average of 45K for a session | 45,000 | |
RKS (Row Key Size) - in bytes | 50 | ||
RF (Replication Factor) | 2 | ||
Number of Nodes in Cluster | 2 | ||
IPS (From column_index_size_in_kb in YAML file) | 64 | ||
TNC (Total Number of Columns) | NR*NC | 15,000 | |
Column Data (Amount of actual data in your cluster) | TNC*CVS | 675,000,000 | 45,000 (CVS) |
Column Overhead | TNC*(15+CNS) | 345,000 | 23 (15+CNS) |
Column Subtotal | Column Data+Column Overhead | 675,345,000 | |
Row Header Overhead | NR*(23+RKS) | 365,000 | 73 (Row Header Overhead/NR) |
Row Bloom Filter | NR*((2+8)+CEILING+((((NC*4)+20/8),1)) | 70,000 | 14 (Row Bloom Filter/NR) |
Row Index | (4+(IF((CEILING(((Column Subtotal/NR)/IPS),1)>1),CEILING(((Column Subtotal/NR)/IPS),1),0)*((CNS*2)+20)))*NR | 380,000,000 | 76,000 (Row Index/NR) |
Row Subtotal | Row Header Overhead+Row Bloom Filter + Row Index | 380,435,000 | |
Data File Subtotal | Column Subtotal + Row Subtotal | 1,055,780,000 | |
Per Node | Data File Subtotal/Number of Nodes (Includes replication and should be comparable to summation of all SSTABLES on disk for a single node) |
1,055,780,000 | |
SSTABLE Index | NR*(10+RKS) | 300,000 | |
SSTABLE Bloom Filter | ((NR*15)+20)/8 | 9,378 | |
Base Storage | (Data File Subtotal+SSTABLE Index)+SSTABLE Bloom Filter | 1,056,089,378 | |
Additional Replicas | Base Storage*(RF-1) | 1,056,089,378 | |
Compaction Overhead | Base Storage*RF | 2,112,178,755 | |
Total Storage | (Base Storage+Additional Replicas)+Compaction Overhead | 4,224,357,510 | |
Per Node | Total Storage/Number of Nodes | 2,112,178,755 |
For more information on configuring and deploying Cassandra on Intel Architecture, refer to this document by Intel.