mcrouter icon indicating copy to clipboard operation
mcrouter copied to clipboard

Thread crazieness (Y threads x num_cpu_cores)

Open galitz opened this issue 8 years ago • 1 comments

Hi.

We are running mcrouter in a configuration where it launches with "proxy-threads auto" on 4 core servers. So we are getting 4 threads per core. However we are running 6 individual instances of mcrouter pointing to different memcache clusters. So in this config on each server the effective number of threads is 6 * 4 for each server, but pointing to different pools. In this particular case we have eight servers acting as mcrouter front-ends. Some memcache clusters see high usage, others low.. it is quite mixed.

My question is if I am likely to run into race conditions/thread collisions that can effect performance or reliability? I realize this is predicated on usage levels somewhat, but in general?

Would tuning options such global-tko-tracking be beneficial?

Thanks. -G

galitz avatar May 04 '17 11:05 galitz

@galitz, out of curiosity, why do you need to run 6 individual mcrouters instead of 1? Each mcrouter will have its own configuration thread, stats logging thread, and a couple other threads. 24 proxy threads on only 4 cores could lead to more context switching than you need. It's hard to say if any of this matters or not for your workload, but I would suggest going with the simplest possible setup (1 mcrouter) if you can.

In general, I don't recommend disabling TKO tracking without good reason.

jmswen avatar May 24 '17 05:05 jmswen