How to get maximum performance with Aerospike?


#1

I am getting maximum 8000 TPS while writing and around 900 TPS while reading. Here is my configuration file:

# Aerospike database configuration file.

# This stanza must come first.
service {
       user root
       group root
       paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
       pidfile /var/run/aerospike/asd.pid
       service-threads 8
       transaction-queues 8
       transaction-threads-per-queue 4
       proto-fd-max 15000
}

logging {
    # Log file must be an absolute path.
    file /var/log/aerospike/aerospike.log {
            context any info
    }
}

network {
    service {
            address any
            port 3000
    }

    heartbeat {
            mode multicast
            address 239.1.99.222
            port 9918

            # To use unicast-mesh heartbeats, comment out the 3 lines above and
            # use the following 4 lines instead.
 #               mode mesh
 #               port 3002
 #               mesh-address 10.1.1.1
 #               mesh-port 3002

                interval 150
               timeout 10
      }

       fabric {
               port 3001
       }

       info {
              port 3003
        }
 }

 namespace nas1601  {
       replication-factor 1
      memory-size 33G
      high-water-memory-pct 99
      high-water-disk-pct   99
      storage-engine device {
            file /sd5/aerospikedata/nas1601
            filesize 50G
            data-in-memory true
            scheduler-mode noop
    write-block-size 1024K
    }
}

How can I optimize it to get maximum TPS?


#2

Hey Hammad, what is this running on? The hardware at your instance really determines what you can do. I can do a much higher number with a pair of VMs on my laptop, for comparison.

Just conjecture, but are you using a network attached storage (NAS) drive for storage? You should be writing to a local drive. You get far too much latency using a network drive.

More about the hardware you should be using: http://www.aerospike.com/docs/operations/plan/hardware