Подтвердить что ты не робот

Может ли memcached полностью использовать многоядерные процессоры?

Может ли memcached полностью использовать многоядерные ядра? Или какой-нибудь способ настроить это?

4b9b3361

Ответ 1

memcached по умолчанию имеет многопоточность и не имеет проблем с насыщением многих ядер. Это немного сложнее насытить все ядра на более массивно параллельных коробках (например, на 256-ядерном CMT-блоке) только потому, что становится сложнее получать данные в и из сети.

Если вы найдете области, в которых какая-то разногласия препятствует высыханию ядер, сообщите об ошибке или начните обсуждение.

Ответ 2

memcached имеет опцию "-t":

       -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.

поэтому я считаю, что он может использовать все ваши ядра процессора, конечно, если он был скомпилирован с соответствующей опцией.

Ответ 3

Основываясь на этом исследовании Intel, бета-версия Memcached v.1.6 не может хорошо масштабироваться в многоядерной системе. Их эксперименты показывают, что по мере увеличения количества сердечников от 1 до 8 максимальная пропускная способность (с медианом RTT < 1 мс SLA) удваивается.

Ответ 4

ОСТОРОЖНЫ. Эта терминология довольно запутанна. Memcached man-страница говорит, что опция -t подходит только для количества ядер. Однако это странно, потому что потоки и процессы ОЧЕНЬ разные. Нити НИЧЕГО не имеют отношения к числу ядер. Процессы могут определенно работать на более чем одном корне, тогда как потоки не могут (если только они не вызывают процедуру ОС, тогда они могут переключать поток и упаковывать более 100% использования процессора). Темы разделяют память и просто зависят от указателя инструкции, чтобы различать, кто есть кто. Процессы ничего не разделяют, если они явно не объявлены как общие досрочно, а совместное использование происходит через ОС.

В целом, я хочу, чтобы пользователи Memcached получили более значительную информацию о том, является ли их приложение многопроцессорным или многопоточным, и, следовательно, если он может использовать более 100% процессора.