Microsoft Azure Capacity Planning
For details on disk and memory sizing, see the main capacity planning docs.
The two most common use-cases for Aerospike are:
- An in-memory cache with no persistence
- A fast persistent data store
Aerospike as a Hybrid-Memory Store
Aerospike has developed a simple to run Cloud Qualification Process that demonstrates the capabilities of untuned instances. By default it tests our hybrid-memory configuration. This can be used to differentiate what each instance family is more suited towards.
Instance Type | Client Transactions/s+ | 95th Percentile (ms) | 99th Percentile (ms) | Object Size (bytes) | Object Count | Disk Size | Cost++ |
---|---|---|---|---|---|---|---|
Standard_Gs1 | 31,000 | 3.5 | 9.1 | 13+++ | 240,000,000 | 56GB | $0.61/hr |
Standard_L4s | 41,000 | 1.2 | 5.8 | 1500 | 240,000,000 | 678GB | $0.344/hr |
++ Price in West US, at time of writing.
+++ Low object size is due to fitting 240m objects into a mere 56GB disk. Larger object sizes can be used with the following optimizations:
- shorten set name from 9 characters
- Enable single-bin for the namespace. This will make 28 additional bytes available.
- 3 additional bytes are available for Integer or Float types.
Your numbers may not necessarily match these exactly, due to variance within Azure's environment.
Aerospike as In-Memory with no Persistence
The Data In-Memory without Persistence storage engine is ideal for a cache based use-case.
Aerospike as a Fast Persistent Data Store
The storage engine suited for this use case is the SSD Storage Engine.
Azure provides SSD storage in the form of Premium Storage. These are network attached to virtual machine instances.
Local SSDs Backed by Premium Storage Persistence
This is the recommended storage engine in cloud environments.
Pros:
- RAM requirement is same as persistence model only.
- Provides persistence offered by Storage Disks while surpassing the performance bottleneck by making use of local SSDs performance as caching layer.
- Provides the best of performance and persistence possible by using local SSD as RAM alternative along with Storage Disks for persistence storage.
Cons:
- More operational overhead than any other storage models.
- Need to use instances supporting the required amount of local SSD instance storage volumes.
Instance Types
Presently, we suggest using the Lsv2 instances. These support Premium Storage, which are SSD based network storage, as well as having local SSDs. See Certifying Flash Devices.
Instance families with 'S' in their designation have Premium Storage (SSD) support. If no persistence is required, non-'s' families can be used.
Disk Caching
Azure provides a unique disk caching feature. This will accelerate your disk access for both local and persisted disks.
If your access pattern is predominately read based, it would be advisable to configure the Disk Caching to ReadOnly
. ReadOnly
caching also benefits access patterns that are less random or uniform and more concentrated (eg: zipfian, last-access, hotspot distributions)
Aerospike recommends testing your personal workload for any potential benefits of ReadOnly
disk caching.
Aerospike does not recommend ReadWrite
disk based caching.