mcrouter
mcrouter copied to clipboard
Slow performance - Redis benchmark test
Noticing really slow performance with mcrouter when compared to memcache. Is this expected? It gets even worse when we use multiple remote memcache instances but for benchmarking purposes, i'm only using one memcache instance for this test. KB/sec is really slow and latency is high. What should I adjust to get a relatively comparable performance? Thanks for the help!
I'm using release 38 (it's not easy to build for CentOS 7 with version 41 so had to use an available rpm which is version 38). CPU/mem of server running mcrouter: 2 Cores / 16 GB
CPU/mem of server running memcache 2 Cores/12 GB
OS: Red Hat Enterprise Linux Server release 7.9 (Maipo)
Here's my setup - mcrouter configured to connect to a single remote memcached node:
mcrouter
--config-str='{"pools":{"A":{"servers":["x.x.x.x:11212"]}},
"route": {"type": "OperationSelectorRoute","operation_policies": {"add": "AllSyncRoute|Pool|A","delete": "AllSyncRoute|Pool|A","get": "LatestRoute|Pool|A", "set": "AllSyncRoute|Pool|A"}}}'
-p 5000
--num-proxies=2
redis benchmark test (memtier): ./memtier_benchmark --random-data --data-size-range=4-204 --data-size-pattern=S --key-minimum=200 --key-maximum=400 --key-pattern=G:G --key-stddev=10 --key-median=300 -s localhost -p 5000 -P memcache_text
Results Writing results to stdout [RUN #1] Preparing benchmark client... [RUN #1] Launching threads now... [RUN #1 100%, 209 secs] 0 threads: 2000000 ops, 14915 (avg: 9551) ops/sec, 2.14MB/sec (avg: 1.37MB/sec), 13.41 (avg: 20.90) msec latencyy 4 Threads 50 Connections per thread 10000 Requests per client
Without mcrouter and connecting to same remote memcached instance /memtier_benchmark --random-data --data-size-range=4-204 --data-size-pattern=S --key-minimum=200 --key-maximum=400 --key-pattern=G:G --key-stddev=10 --key-median=300 -s x.x.x.x -p 11212 -P memcache_text
Results Writing results to stdout [RUN #1] Preparing benchmark client... [RUN #1] Launching threads now... [RUN #1 100%, 68 secs] 0 threads: 2000000 ops, 27856 (avg: 29191) ops/sec, 3.98MB/sec (avg: 4.18MB/sec), 7.11 (avg: 6.83) msec latency
4 Threads 50 Connections per thread 10000 Requests per client
Any feedback pls?