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
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. General guidance and a guide tool are provided to help you select an instance size for your workload to get your project started. Our instance size calculation tool is available directly on our main website:
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.
The above tool is designed to help new users find the right initial instance size for their workload quickly and easily. 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.
AWS EC2 Best Practices
To get the best performance out of SoftNAS® in an AWS environment, consult the following best practices: