Description
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 Cloud® specific configurations to consider are the use of Deduplication and / or Compression.
Instance Types Matrix
To maximize IOPS and Throughput, create instances that support Enhanced Networking and EBS Optimization. Listed below are the instance types that best meet these settings, based on settings pulled from
Amazon Web Services.
The following instance types* also include the following optimization benefits:
-
-
-
-
-
-
Intel Xeon E physical processors
Instance Type
|
vCPU
|
Memory
(GiB)
|
Storage
(GB) SSD
|
Networking Performance
|
Clock Speed (GHz)
|
c3.xlarge
|
4
|
7.5
|
2x40
|
Moderate
|
2.8
|
c3.2xlarge
|
8
|
15
|
2x80
|
High
|
2.8
|
c3.4xlarge
|
16
|
30
|
2x160
|
High
|
2.8
|
r3.xlarge
|
4
|
30.5
|
1x80
|
Moderate
|
2.5
|
r3.2xlarge
|
8
|
61
|
1x160
|
High
|
2.5
|
r3.4xlarge
|
16
|
122
|
1x320
|
High
|
2.5
|
i2.xlarge
|
4
|
30.5
|
1x800
|
Moderate
|
2.5
|
i2.2xlarge
|
8
|
61
|
2x800
|
High
|
2.5
|
i2.4xlarge
|
16
|
122
|
4x800
|
High
|
2.5
|
*-Settings may have changed slightly since the publication of this guide.
SoftNAS performance and throughput is governed by:
-
Available Memory:
SoftNAS uses approximately 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, start with 4 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 2 CPUs for normal operation. To maintain peak performance when using the Compression feature, add CPUs (e.g.,4 CPU) 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 Cloud® environment performance.
-
Multiple Performance & Scale Options: EC2 offers
Fixed Performance Instances (e.g. m3, c3, and r3) as well as
Burstable Performance Instances (e.g. t2) 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 Cloud® in an AWS environment, consult the following best practices:
General Instance Type Recommendations
Here are some general recommendations for getting started with EC2 and SoftNAS.
-
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: Good for workloads that are read intensive, and 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.
-
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.
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.
Note: Micro instances may be adequate for some development and QA testing purposes, and to keep costs low; however, be aware of the significant memory, CPU and network limits imposed on micro instances, which will certainly limit performance and throughput of SoftNAS.