Tuning for high write


#1

Hi all, I would like to tune AeroSpike for high writes TPS. When I’m testing r3.8xl on EC2 with the tuning guide I get slightly lower numbers than suggested (220k TPS instead of 250k TPS) when using memory only - but when I change it to work with SSD performance drops to 80k TPS.

Is there any way to define something like “Eventually Persistent” mode? where data is written to the memory and also written asynchronously to the SSD.

Thanks /Rafi


#2

Yes, here is a recipie for hdd and data-in-memory. Also try this configuration with write-block-size set to 128K vs 1M as well.


#3

I tried the SSD Recipe with ‘data-in-memory true’ which resulted in significantly lower TPS than in memory only. Does writing to a file perform better?


#4

To clarify, you can either have the data in memory, with or without persistence to disk, or data on SSD.

Data in memory with persistence to disk means that the data is written to DRAM, and queued for the disk, with that queue flushed to disk periodically or when the buffer is full.

When you are using SSD as the storage layer for the data, you can get higher TPS through defining multiple disks for the namespace. On Amazon EC2 that depends on the instance types. r3 come with a single disk and i2 with several, depending on the instance type.

More on that here: http://www.aerospike.com/docs/architecture/storage.html


#5

Thanks Ronen for the info. I guess I’ll stick to DRAM…