cpu_affinity_map
Que tal amigos de Alterserv, antes que nada me disculpo por mi inactividad, pero ya estamos arrancando y probando cosas nuevas, como tambien haciendoselas saber, en esta ocasion les platicar de cpu_affinity_map que es? y como se implementa.
Como antes ya les habia hablado de SMP el cual nos ayuda a crear mas de un proceso de squid, ya que anteriormente solo se podia crear un solo proceso de Squid lo cual muchas veces provocaba un cuello de botella y al final para mitigar esto teníamos que hacer mucha configuración en squid como tambien, modificaciones en el sistema para optimizar la memoria y permitir un trabajo constante en squid.
Si leyeron el enlace se daran cuenta que esta opcion todavia estaba incompleta y muchas veces no funcionaba del todo o en algunos casos necesitabas un archivo de configuracion por cada instancia de squid, lo cual tambien era engorroso, ahora con las nuevas actualizaciones, en mi caso squid3.5.12 esta funcionando sin problemas con un solo archivo de configuracion por las instancias que vallas a utilizar.
Para esto lo primero que debes de saber es que esto depende de cuantos nucleos tenga tu procesador, si tu procesador solo tiene 2 nucleos solo puedes levantar 2 instancias nada mas, lo explico desde el principio para que no digan despues que no lo adverti, la configuracion es asi:
Código [Seleccionar]
workers 4
cpu_affinity_map process_numbers=1 cores=1
cpu_affinity_map process_numbers=2 cores=2
cpu_affinity_map process_numbers=3 cores=3
cpu_affinity_map process_numbers=4 cores=4
cache_dir aufs /var/spool/squid/${process_number} 10000 16 256 min-size=1 max-size=838860800
En este caso primero activas workers diciéndole que levantaras cuatro instancias, con esto empiezas con cpu_affinity_map dandole un numero de proceso y asignándole en que núcleo trabajara, en mi caso tengo cuatro nucleos asigno cuatro nucleos y para que nuestro almacenamiento también se cree para cada núcleo.
Asignandole tambien un tamaño minimo de entrada en el cache y y un maximo tamaño de archivo. Acompañado con parametros que siempre relacionados con la canalizacion del cache.
Código [Seleccionar]
cache_mem 2048 MB
maximum_object_size 800 MB
maximum_object_size_in_memory 50 MB
cache_swap_low 95
cache_swap_high 99
Reiniciamos servicios y revisamos nuestro cache.log y veremos cuatro instancias separadas por kid1, kid2, etc, Espero les guste, Saludos