VMWare + Memcached = poor performance.
I did a benchmark between VMWare, OpenVZ (Proxmox) and desktop computer with Memcached installed.
"Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering."
It uses RAM memory not HDD.
I don't know how to resolve this issue but performance is unacceptable. I was trying different Linux distributions, different kernel versions, different network drivers and nothing has changed.
Summary (requests per second to Memcached instance):
-------------------
VMWare: 1 213 req/s
OpenVZ: 24 109 req/s
Desktop: 36 221 req/s
Benchmark source (c++): http://pastebin.com/aNCe6hpe
BENCHMARK:
========================
localhost - connection via unix socket
remote - remote connection to machine (TCP/IPv4) on the same Node (the same physical server).
VMWare:
-------------------
Connection to localhost:11211: ~ 8 214 req/s
Connection to remote:11211: ~ 1 213 req/s
After turning Memory Affinity setting to ON:
Connection to localhost:11211: ~ 36 512 req/s (rised up)
Connection to remote:11211: 1 213 req/s (without changes)
OpenVZ (much worse machine but performance better than VMWare):
-------------------
Connection to localhost:11211: ~ 26 338 req/s
Connection to remote:11211: ~ 24 109 req/s
Desktop computer:
-------------------
Connection to localhost:11211: ~ 70 023 req/s
Connection to remote:11211: ~ 36 221 req/s
TECHNICAL SPEC:
=========================
Machine used as a base for VMWare 5.0 installation:
-------------------
Fujitsu RX300 S6
CPU: 2 x Intel Xeon X5650 2.67GHz 6 core per processor
RAM: 98GB 1333 MHz
Disk Array: Eternus DX80/90 S2
HDD: ST3300657SS
Machine used as a base for OpenVZ (Proxmox VE 2.3.13) installation:
-------------------
CPU: 2 x procesor Xeon 4-core E5506 2,13GHz 4MB 4,8 GT/s (Nehalem)
RAM: 12 GB ECC Registered DDR3 RAM 2 Rank ATP (6 x 2048 MB)
Desktop computer:
-------------------
CPU: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
RAM: 10GB 1333 MHz