Increase write performance


#1

Hi,

We lack the write performance.

Namespace config example:

     namespace test {
       replication-factor 1
       memory-size 10G

       storage-engine device {
               file /opt/aerospike/data/test.data
               file /opt/aerospike/data2/test.data
               filesize 20G
               data-in-memory true
       }
}

We use SSD disks.

I have found three parameters: write-block-size flush-max-ms fsync-max-sec

As I understand, write-block-size can be changed to 128 Kb flush-max-ms can be increased How best to change fsync-max-sec, it is not clear to me.

Can you advise any more?


#2

Can you quantify this in terms of throughput / latency. Do you see any errors when doing rapid writes?

flush-max-ms and fsync-max-sec are only relevant to how fast write buffers are flushed to the disk. And this is not generally required to be set when you have very fast write rate, in which case write buffers are flushed at rapid rate already.

Thanks

  • Raj

#3

Why not write directly to the block device?


#4

The initial config chooses to persist the data in the storage engine to file, which uses the filesystem, rather than a raw device. Indeed, writing to the block device gives better write performance in the event of a high write rate.

Read the SSD setup section in the operations manual.


#5

Why not directly - historical… The problem is not relevant anymore Microbench showed problems with the network. We just upgrade the cluster to really good hardware.