AWS benchmark - Optimization


#1

Hello I am trying to perform a benchmark on AWS . i am interested in write/sec and also read/sec.

using your documentation i created aerospike ami instance and did a benchmark using my java. for some reason i cannot get on a single thread more then 1400 writes/sec.

is the limitation related to the community version i use or should i change something in the server to get better peformance ?

thanks, Max


#2

Hi Max,

Recently, we published detailed steps to perform benchmarks on AWS. There are many tips there which could be useful to you - http://www.aerospike.com/docs/deploy_guides/aws/tune/

Some more questions:

  1. What is the instance-type you are using for the server? (m3.medium, m3.2xlarge, etc)
  2. Which storage engine are you using for the namespace in Aerospike? Is it “in-memory without persistence” or “SSD storage using EBS”? ( http://www.aerospike.com/docs/operations/configure/namespace/storage/ )
  3. Are you using a separate client instance?

There is no difference in the performance of the community version and enterprise version.

Thanks, Chetan


#3

the benchmark i am doing is only in memory so i do not think SSD speed is important, its a benchmark i have written in java that is somewhat based on the example code - mostly put/get. the instance i am using is the recommended one of R3.2XL and the client run on the same node to avoid network issues. any thought about why is it so slow on a single java thread?


#4

Hi Max,

You should use multiple threads in the client to get the most throughput. Look at the Java Benchmark tool source code here for reference: https://github.com/aerospike/aerospike-client-java/tree/master/benchmarks

Also, to correctly test server performance you should have the client run on a separate instance.

  • C

#5

thanks will check it