2010-05-28 5 views

Respuesta

6

memcached tiene múltiples subprocesos por defecto y no tiene problemas para saturar muchos núcleos. Es un poco más difícil saturar todos los núcleos en cajas paralelas más masivas (por ejemplo, una caja CMT de 256 núcleos) simplemente porque se hace más difícil obtener los datos dentro y fuera de la red.

Si encuentra áreas donde algún tipo de conflicto le impide saturar núcleos, presente un error o inicie un debate.

12

memcached tiene la opción "-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. 

así, creo que puede utilizar todos sus núcleos de CPU, por supuesto, si se compiló con la opción correspondiente.

+0

Muchas gracias ~ –

+0

Por favor marque la respuesta como 'aceptada' si era útil para usted –

0

CUIDADO. Esta terminología es bastante confusa. La página man de Memcached dice que la opción "t" solo es válida hasta la cantidad de núcleos. Sin embargo, esto es extraño porque los hilos y los procesos son MUY diferentes. Los hilos NO TIENEN NADA que ver con la cantidad de núcleos. Los procesos definitivamente pueden ejecutarse en más de un cor, mientras que los hilos no pueden (a menos que llamen a una rutina de sistema operativo, entonces pueden enrutar y empaquetar en más de 100% de uso de la CPU). Los hilos comparten memoria y solo dependen de un puntero de instrucción para diferenciar quién es quién. Los procesos no comparten nada a menos que se declare explícitamente como compartido de antemano, y el intercambio se produce a través del sistema operativo.

En general, quiero MÁS CLARIDAD de la gente de Memcached sobre si su aplicación es multiproceso o multiproceso y por lo tanto si puede usar más del 100% de la CPU.

+2

[Temas no tienen nada que ver con el número de núcleos] La razón por la cual su dice a configurar su número de hilos de la cantidad de núcleos es que generalmente desea tener un núcleo ejecutando un hilo determinado. Más que eso, la CPU tendrá que cambiar de contexto entre los hilos, lo que afecta el rendimiento en distintos grados, dependiendo de lo que intentes hacer – concept47

4

Basado en una investigación de this por Intel, Memcached v.1.6 beta no puede escalarse bien en un sistema multinúcleo. Sus experimentos muestran que a medida que los recuentos de núcleos aumentan de 1 a 8, el rendimiento máximo (con una mediana de RTT < 1 ms SLA) solo se duplica.

Cuestiones relacionadas