-
-
Notifications
You must be signed in to change notification settings - Fork 5
Benchmark Mcrouter vs Memcached vs no caching #13
Comments
Can also use |
So when trying to test When I used it's version of
Also, even now and then I'd hit weird hiccups like:
So I ditched trying to benchmark with So could also look into using |
So... been trying to get wordpress to be happy with Mcrouter. I tried out the Memcached Redux plugin, but even though it seemed to connect and use the cluster properly, it resulted in performance more than halving, from 55 req/s to 20 req/s after I placed it's So then I tried W3TC, which is like a porsche compared to the fiat of the redux plugin... but it has a fancy connectivity test which fails when I connect to mcrouter, but passes when I connect directly to one of the memcached pods. So... I think I give up on wordpress. At least for now. Also, I noticed this issue during my searching: autopilotpattern/wordpress#28 — I hope they have better luck than I did :P |
Drupal instructions, using Drupal VM:
At this point, it should show it's connecting to a local memcached instance on port 11211, but there is nothing being stored; this is because Drupal's memcached module requires some extra settings file configuration before it starts storing data in memcached.
You should now see some sets and gets in the report. This means the local memcached instance is working, and Drupal is able to store and retrieve cache data. |
Now let's switch to Mcrouter: If you refresh the statistics report page you'll get a notice of "No default statistics for this bin."—however, the bottom of the page shows that values are still being retrieved (all the You can run
|
Some stats:
All tests run four times, with first test discarded (for cache warmup); latter three are averaged. |
After running a number of tests, it looks like things are a bit slower when running through the network between VMs and into K8s, in both the case of direct memcached access and memcached-through-mcrouter. So one additional test I want to try is running a MySQL instance inside K8s (just use something like https://kubernetes.io/docs/tasks/run-application/run-single-instance-stateful-application/#deploy-mysql), and see how well that performs. |
Interesting... I discovered the reason why |
So... minikube started eating the dirt after about the 90th benchmark run. I got some good data, but std deviation was kind of all over the place, so I'm going to try to get a tiny bit more data using |
Using the command:
|
Closing issue; summarized things in blog post: https://www.jeffgeerling.com/blog/2019/mcrouter-operator-demonstration-k8s-operator-sdk-usage-ansible |
@geerlingguy |
Shucks :( Might have to create a separate one. |
One thing that would be nice to see is whether the use of this operator would result in better performance for your applications (noting that performance is only one of the two metrics mcrouter tries to optimize, the other being availability).
I'm thinking maybe of running a benchmark on a CMS like Wordpress or Drupal with front end caching disabled, in the following scenarios:
Could use something like
wrk
orab
for basic HTTP tests, but maybe some better benchmarking tool?The text was updated successfully, but these errors were encountered: