Trabalhadores do Squid e processadores do servidor

2

Tudo bem, então estou prestes a atualizar minha caixa (com 2k ips externos) para o último lula (3.3.x), já que minha versão antiga não tira vantagem dos processadores multi-core.

Enquanto pesquisava sobre os trabalhadores, encontrei uma discussão em que alguém diz:

Use cpu_affinity_map in squid.conf. Leave Cpu0 "for the OS". Be careful not to put two busy workers on sibling hyper-cores. This is just a sketch of an optimization algorithm. There are many details that depend on your setup.

Eu também entendo que é melhor usar tantos trabalhadores quanto você tem CPUs:

FWIW, we usually see best performance results when using cpu_affinity_map with 1:1 mapping between workers and cores (which effectively disables those complex algorithms as far as Squid workers are concerned).

Minha pergunta é ... são CPUs físicas? Minha caixa relata 8 processadores, mas apenas 2 físicos mostrados quando eu executo cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l , o que significa 2 trabalhadores?

Se eu colocar 2 funcionários em 2 CPUs físicas, como Deixa Cpu0 "para o SO" se encaixar? Isso significa que eu defino apenas 1 worker para cpu1 enquanto o sistema operacional usa cpu0?

P.S. Eu sei sobre a afinidade da CPU. Eu só preciso de um esclarecimento sobre como descobrir exatamente quantos trabalhadores eu posso usar antes de perder o desempenho.

    
por Romeo Mihalcea 01.08.2013 / 04:21

1 resposta

1

Você tem dois processadores Xeon E5506 com 8 núcleos no total. O E5506 não possui hyper-threading. Você pode executar sete funcionários e ainda ter um núcleo gratuito para o sistema operacional.

    
por 01.08.2013 / 04:42

Tags