Is memcached capable of making full use of multi-core? Or is there any way tuning this?
Multithreading refers to a program that can take advantage of a multicore computer by running on more than one core at the same time.
memcached can process over 50 million keys per second on a 48 core machine using only RAM and heavy batching.
With Memcached you can build highly scalable distributed caching solutions designed to provide fast and consistent performance.
memcached has "-t" option:
-t <threads>
Number of threads to use to process incoming requests. This option is only meaningful
if memcached was compiled with thread support enabled. It is typically not useful to
set this higher than the number of CPU cores on the memcached server. The default is
4.
so, I believe it can use all your CPU cores, of course if it was compiled with corresponding option.
memcached is multi-threaded by default and has no problem saturating many cores. It's a bit harder to saturate all cores on more massively parallel boxes (e.g. a 256-core CMT box) just because it gets harder to get the data in and out of the network.
If you find areas where some sort of contention is preventing you from saturating cores, file a bug or start a discussion.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With