Download the Benchmark

Download the Benchmark

Only numbers, spaces and characters - ( ) + are allowed.

Manage your Hazelcast communication preferences here.

Benchmark

Memcached 1.4.33 vs Hazelcast IMDG 3.7.5 Benchmark

Comparison

Performance benchmark framework

https://github.com/hazelcast/memcached-java-client

Test Environment

These tests were performed on physical machines hosted at a data center

Specification Description
Machine GenuineIntel
CPU 40 physical cores HT enabled, Intel(R) Xeon(R) CPU E5-2687W v3 @ 3.10GHz
vCPU 8
RAM 755 GB
Network Bandwidth 1 Gbps
Operating System Linux
Java HotSpot Oracle 1.7.0_79

Test Parameters

Parameter Value
Number of Test Nodes 6 (4 servers and 2 clients)
Perf Setup 4 server nodes and 2 clients
Entries 1,000,000
Payload Size 4k to 12k randomly distributed
Number of Threads 40
Test Duration

20 minutes test. Performance data collected in last 1 minute of the test.

Clusters (Memcached and Hazelcast IMDG®) were first loaded with data before perf tests were conducted and benchmarking numbers were collected from the runs in the last minute of a 20 minute test to enable the servers to warm up, perform JIT optimisations etc

Get and Put Pattern

2 types of test, both are Sync operations:

  1. Get only
  2. Get-Put with the ratio of 80% Get and 20% Put

Benchmark 1: Read-only

Results Summary

Hazelcast is about 20% faster on TPS and 50μs (microseconds) faster than Memcached on read-only cases. See the numbers below.

Memcached


Feb 07, 2017 3:17:50 PM org.hazelcast.client.MemcachedMainClient
INFO: Transactions processed per second: 131887
Feb 07, 2017 3:17:50 PM org.hazelcast.client.MemcachedMainClient
INFO: Average latency in last 5 seconds: 303 μs

Hazelcast


Feb 07, 2017 3:38:44 PM org.hazelcast.client.HazelcastMainClient
INFO: TPS:
Puts processed per second: 0
Gets processed per second: 160445
Feb 07, 2017 3:38:49 PM org.hazelcast.client.HazelcastMainClient
INFO: Latency:
Average Put latency in last 5 seconds: 0 μs
Average Get latency in last 5 seconds: 249 μs

Read-only Throughput

Read-only Latency

Benchmark 2: Read-only with Near Cache

Results Summary

Add NearCache to Hazelcast Clients and these numbers change drastically. With Near Cache, Hazelcast blows away Memcached, with 30x more TPS at almost 35x lower latencies.

Memcached

No Near Cache. Memcached does not have this concept.

Feb 07, 2017 3:17:50 PM org.hazelcast.client.MemcachedMainClient
INFO: Transactions processed per second: 131887
Feb 07, 2017 3:17:50 PM org.hazelcast.client.MemcachedMainClient
INFO: Average latency in last 5 seconds: 303 μs

Hazelcast


Feb 07, 2017 2:15:46 PM org.hazelcast.client.HazelcastMainClient
INFO: TPS:
Puts processed per second: 0
Gets processed per second: 3964684
Feb 07, 2017 2:15:46 PM org.hazelcast.client.HazelcastMainClient
INFO: Latency:
Average Put latency in last 5 seconds: 0 μs
Average Get latency in last 5 seconds: 7 μs

Read-only with Near Cache Throughput

Read-only with Near Cache Latency

Benchmark 3: 80% Reads, 20% Writes

Results Summary

For a read-write case, Hazelcast performance with Near Cache is 2.5x higher on TPS with lower latency. See numbers below.

Memcached


Feb 07, 2017 4:17:20 PM org.hazelcast.client.MemcachedMainClient
INFO: TPS:
Puts processed per second: 3543
Gets processed per second: 14157
Feb 07, 2017 4:17:20 PM org.hazelcast.client.MemcachedMainClient
INFO: Latency:
Average Put latency in last 5 seconds: 2195 μs
Average Get latency in last 5 seconds: 2276 μs

Hazelcast


Feb 07, 2017 5:20:12 PM org.hazelcast.client.HazelcastMainClient
INFO: TPS:
Puts processed per second: 9249
Gets processed per second: 36981
Feb 07, 2017 5:20:12 PM org.hazelcast.client.HazelcastMainClient
INFO: Latency:
Average Put latency in last 5 seconds: 1659 μs
Average Get latency in last 5 seconds: 666 μs

Read-Write case - Read TPS

Read-Write case - Write TPS

Hazelcast.com

Menu