AWS EC2 System Requirements and Performance Considerations
AWS Instances
Amazon EC2 provides computing instances, which are virtual machines running on the XenSource hypervisor. Each instance is a unique copy of a virtual machine image. We will use EC2 terminology instance to refer to these VMs.
There are over 200 possible combinations of the EC2 instance type. When choosing an instance type for production deployment, give careful consideration to the overall storage demand and best practices for performance.
The top two things to consider are IOPS and Throughput. SoftNAS® product specific configurations to consider are the use of Deduplication and / or Compression.
General Instance Type Recommendations
Buurst recommends the r5.2xlarge as a minimum default AWS instance size, the r5.4xlarge for medium workloads, and the r5.12xlarge or r5.24xlarge for heavier workloads. Specific use cases may require a more tailored approach. SoftNAS® offers the broadest range of instance sizes and region availability on Amazon Web Services™. It’s important to select the right instance size to configure a storage solution that is the right combination of performance and price for your use case. Contact Buurst Support if you require assistance in determining the right size for you.
For extremely heavy workloads, increase cache memory with "High-Memory Instances" and/or use EBS-Optimized and Provisioned IOPS to provide better control over available IOPS.
Buurst always recommends further analysis and testing of their selected instance until workload characteristics are fully understood. This will allow the customer to then refine their instance size selection to the perfect balance of performance and cost.
SoftNAS product performance and throughput is governed by:
- Available Memory: SoftNAS uses around 1 GB of RAM for the kernel and system operation. Memory beyond 1 GB is available for use as cache memory, which greatly improves overall system performance and response time - more memory = better performance, to a point. If application workloads involve a high number of small, random I/O requests, then cache memory will provide the best performance increase by reducing random disk I/O to a minimum. If running a SQL database application, cache memory will greatly improve query performance by keeping tables in memory. At a minimum, 2 GB of RAM will yield around 1 GB for cache. For best results on production workloads, start with 16 GB or more RAM. With deduplication, add 1 GB of RAM per terabyte of deduplicated data (to keep deduplication look-up tables in RAM)
- CPU: SoftNAS needs a minimum of 4 vCPUs for normal operation. To maintain peak performance when using the Compression feature, add CPUs (e.g., 8 vCPU) if CPU usage is observed at 60% or greater on average.
- Network - In EC2, SoftNAS uses Elastic Block Storage (EBS), which are disks running across the network in a SAN (storage area network) configuration. This means all disk I/O travels across a shared network connecting the EC2 computing instance with the SAN. This makes network I/O an important factor in SoftNAS® environment performance.
- Multiple Performance & Scale Options: EC2 offers Fixed Performance Instances (e.g. m5 c5, and r5) as well as Burstable Performance Instances for occasional heavy use over baseline. EC2 also offers many instance sizes and configurations. Consider all potential networking requirements when choosing instance type. Purchasing models include On-Demand, Reserved, and Spot Instances.
SoftNAS® System Requirements
Listed below is a table to assist with the setup decisions during the configuration required to accomplish various tasks and goals.
Recommended | Configuration Note | |
Compute | For more in-depth guidance on instance size recommendations, see the SoftNAS Cost Saving Calculator here. | |
Small Workloads | r5.2xlarge | Standard: a good starting point in regards to memory and CPU resources. This category is suited to handle the processing and caching with minimal requirements for network bandwidth. |
Medium Workloads | r5.4xlarge | Medium: good for workloads that are read intensive will benefit from the larger memory-based read cache for this category. The additional CPU will also provide better performance when deduplication, encryption, compression and/or RAID is enabled. |
Heavier Workloads | r5.12xlarge or r5.24xlarge | High: This category can be used for workloads that require a very high speed network connection due to the amount of data transferred over a network connection. In addition to the very high speed network, this level of instance gives you a lot more storage, CPU and memory capacity. |
Memory | ||
Base RAM | 16GB | Required for kernel and system operations. |
System RAM | 16 GB or more for best results | Paired with CPU by instance |
Additional RAM | 1 GB per 1 TB of deduplicated storage. | Recommended for best performance |
e.g.: 50 TB deduplicated storage = 50 additional GB for deduplication tables. | ||
Storage | ||
Boot Disk | 256 GB Hard disk for Linux boot and system disk (all EC2 instance types provide enough space to install and use SoftNAS®) | |
Data Disks | Elastic Block Storage (EBS) provides block data storage on Amazon EC2. | |
Software RAID | Recommended to configure EBS disks using SoftNAS software RAID for increased performance and data durability. | |
Networking | ||
Up to 120 MB/sec | 1 GbE | Small to Large instances provide up to 1GbE connectivity. Use High I/O instances to increase network throughput. |
HA Networking | Not supported in Amazon EC2. | |
HA Host Failover | Configure multiple redundant SoftNAS® instances in separate availability zones or different geographic regions. |
CRITICAL: Do not use ephemeral disks for write logs. Ephemeral disks are local instance disks providing a much larger second-level read cache than RAM, and are typically more than twice as fast as standard EBS volumes. However, the data stored here is temporary and therefore lost upon each reboot.
SoftNAS® System Capacities
Listed below is a table representing the capabilities of the SoftNAS® for Amazon Web Services.
SoftNAS® Capacity | Configuration Note | |
Editions | ||
SoftNAS® | NA | No capacity limits |
SoftNAS® BYOL | NA | No capacity limits |
Memory | ||
RAM Cache | 16 GB to 100 GB | Defaults to 50% total RAM for read cache |
SSD Cache | low-speed level 2 cache | Optional |
Ephemeral Cache | low-speed level 2 cache | Optional for read cache |
Storage | ||
Maximum Storage | 16 PB | Maximum usable storage capacity with SoftNAS®, contingent on license. |
# of Storage Pools | Unlimited | |
# of Volumes | Unlimited | |
# of Snapshots | Unlimited | |
# of Snapshot Clones | Unlimited | |
SnapReplicate | Unlimited Pools & Volumes | |
SnapReplicate Throttle | 56Kb/sec to Unlimited bandwidth | |
Active Directory | Kerberos Integration | |
Files and Directories | Unlimited | |
Network | ||
Schedules | Unlimited | |
NFS Exports: | Linux Default | |
iSCSI Targets | Linux Default | |
CIFS Shares | Linux Default | |
Firewall Ports: | 22 (ssh), 443 (https) | Plus NFS, iSCSI, and CIFS as required by network |
IP Tables Firewall | Off by default | May be configured but is not required. Use an alternative method to set Security Groups unless added firewall protection on a SoftNAS® instance is required. |
AWS EC2 Best Practices
To get the best performance out of SoftNAS® in an AWS environment, consult the following best practices:
Network Planning Considerations
Take into account best practices for AWS EC2 combined with Buurst® optimization configurations before getting started with SoftNAS® for Amazon EC2. For extremely heavy workloads, increase cache memory with High Memory Instances and / or EBS-Optimized and Bursting IOPS to provide better control over available IOPS. Consult the AWS EC2 System Requirements and Performance Considerations page for more detailed recommendations and explanations on this topic.
2nd Level Read Cache
To further improve read and query performance, configure a Read Cache device for use with SoftNAS®. SoftNAS leverages the ZFS L2ARC as its second level cache.
AWS EC2 Read Cache
During instance creation, choose an instance type that includes local solid state disk (SSD) disks. The storage server will make use of as much read cache as is provided to it. Read cache devices can be added and removed at any time with no risk of data loss to an existing storage pool. There are two choices for SSD read cache on EC2:
- Local SSD - the fastest read cache available, as the local SSDs are directly attached to each EC2 instance and provide up to 120,000 IOPS.
- EBS Provisioned IOPS - these EBS volumes can be assigned to SSD, providing a specified level of guaranteed IOPS.