Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow performance - Redis benchmark test #386

Open
pvyaka01 opened this issue Jan 16, 2022 · 1 comment
Open

Slow performance - Redis benchmark test #386

pvyaka01 opened this issue Jan 16, 2022 · 1 comment

Comments

@pvyaka01
Copy link

pvyaka01 commented Jan 16, 2022

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

image

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

image

@pvyaka01
Copy link
Author

Any feedback pls?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant