Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Solução prática sobre proxy-cache SQUID

Tabela de conteúdo

Introdução

Olá pessoal!

Venho através de este material divulgar uma solução pratica sobre proxy-cache SQUID.A situação é que, na empresa aonde trabalho, temos somente uma maquina para fazer proxy-cache. Mais é um servidor bonzinho (dual xeon 2.4GHz HT/ 1024Mb / 5x HDs SCSI 40 Gb + 1 HD IDE 20Gb / placa mãe da super micro).

Até um momento o proxy estava dando conta do problema. Ele vinha trabalhando com 1 instância e usando cache_dir com DISKD. Mais quando a quantidade de solicitações (tava próximo de 7.000 em media de 5 minutos) veio aumentando o desempenho dele abaixou. Já que o SQUID não trabalha com múltiplos processadores, o que estava acontecendo é que o processo do squid, tava variando entre 80% a 99% em um núcleo. No qual existem 4 cpus (porque a placa tem 2 processadores e cada processador tem o recurso HT), OBS: Usando o kernel com SMP.

Uma solução que encontrei no site oficial, foi a criação de Múltiplas Instâncias, ou seja, abrir mais de um processo squid. Neste caso, configurei 3 arquivos *.conf (squid1.conf, squid2.conf, squid3.conf).

Fora isso, consegui configurar para as três instâncias para compartilhar arquivos em cache um com o outro, seguindo o conceito de proxy-cache irmão.

Configuração

Segue abaixo um modelo dos arquivos de configuração.

squid1.conf

squid1.conf

    http_port 33127
    snmp_port 3400
    pid_filename /var/run/squid0.pid
    cache_log /var/log/squid/cache0.log
    visible_hostname cache.aloo.com.br
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    cache_mem 225 MB

    maximum_object_size 20480 KB
    minimum_object_size 0 KB
    maximum_object_size_in_memory 8 KB

    ipcache_size 4096
    fqdncache_size 4096

    # opcoes de cache
    cache_replacement_policy heap LFUDA
    memory_replacement_policy lru
    cache_dir diskd /var/cache1 8192 16 256

    # logs
    cache_access_log none
    cache_store_log none

    #
    emulate_httpd_log on
    ftp_user anonymous
    hosts_file /etc/hosts
    request_header_max_size 20 KB
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    half_closed_clients off

    # configuracoes de acl
    acl all src 0.0.0.0/0.0.0.0
    acl public_aloo snmp_community public
    acl hotmail_domains dstdomain .hotmail.msn.com
    acl ie6 browser MSIE[[:space:]]6

    http_access allow all
    miss_access allow all
    snmp_access allow public_aloo all
    header_access Accept-Encoding deny ie6 hotmail_domains

    cache_mgr japaeye4u@hotmail.com
    cache_effective_user squid
    cache_effective_group squid
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_single_host off
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on
    logfile_rotate 10
    memory_pools off
    memory_pools_limit 0

    coredump_dir /var/spool/squid
    # opcoes de dns
    dns_retransmit_interval 5 seconds
    dns_timeout 2 minutes

    # negacao miss access
    acl irmaos src 127.0.0.0/255.0.0.0
    miss_access deny irmaos

    # opcoes de hierarquia
    icp_port 3129
    icp_access allow all

    # cache irmaos
    cache_peer 127.0.0.1 sibling 33128 3130 proxy-only
    cache_peer 127.0.0.1 sibling 33129 3131 proxy-only

squid2.conf

squid2.conf

    http_port 33128
    snmp_port 3401
    pid_filename /var/run/squid1.pid
    cache_log /var/log/squid/cache1.log
    visible_hostname cache.aloo.com.br
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    cache_mem 225 MB

    maximum_object_size 20480 KB
    minimum_object_size 0 KB
    maximum_object_size_in_memory 8 KB

    ipcache_size 4096
    fqdncache_size 4096

    # opcoes de cache
    cache_replacement_policy heap LFUDA
    memory_replacement_policy lru
    cache_dir diskd /var/cache2 8192 16 256
    cache_dir diskd /var/cache3 8192 16 256

    # logs
    cache_access_log none
    cache_store_log none

    #
    emulate_httpd_log on
    ftp_user anonymous
    hosts_file /etc/hosts
    request_header_max_size 20 KB
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    half_closed_clients off

    # configuracoes de acl
    acl all src 0.0.0.0/0.0.0.0
    acl public_aloo snmp_community public
    acl hotmail_domains dstdomain .hotmail.msn.com
    acl ie6 browser MSIE[[:space:]]6

    http_access allow all
    miss_access allow all
    snmp_access allow public_aloo all
    header_access Accept-Encoding deny ie6 hotmail_domains
    cache_mgr japaeye4u@hotmail.com
    cache_effective_user squid
    cache_effective_group squid
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_single_host off
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on
    logfile_rotate 10
    memory_pools off
    memory_pools_limit 0

    coredump_dir /var/spool/squid

    # opcoes de dns
    dns_retransmit_interval 5 seconds
    dns_timeout 2 minutes

    # negacao miss access
    acl irmaos src 127.0.0.0/255.0.0.0
    miss_access deny irmaos

    # opcoes de hierarquia
    icp_port 3130
    icp_access allow all

    # cache irmaos
    cache_peer 127.0.0.1 sibling 33127 3129 proxy-only
    cache_peer 127.0.0.1 sibling 33129 3131 proxy-only

squid3.conf

squid3.conf

    http_port 33129
    snmp_port 3402
    pid_filename /var/run/squid2.pid
    cache_log /var/log/squid/cache2.log
    visible_hostname cache.aloo.com.br
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    cache_mem 150 MB

    maximum_object_size 20480 KB
    minimum_object_size 0 KB
    maximum_object_size_in_memory 8 KB

    ipcache_size 4096
    fqdncache_size 4096

    # opcoes de cache
    cache_replacement_policy heap LFUDA
    memory_replacement_policy lru
    cache_dir diskd /var/cache4 8192 16 256
    cache_dir diskd /var/cache5 8192 16 256

    # logs
    cache_access_log none
    cache_store_log none

    #
    emulate_httpd_log on
    ftp_user anonymous
    hosts_file /etc/hosts
    request_header_max_size 20 KB
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    half_closed_clients off

    # configuracoes de acl
    acl all src 0.0.0.0/0.0.0.0
    acl public_aloo snmp_community public
    acl hotmail_domains dstdomain .hotmail.msn.com
    acl ie6 browser MSIE[[:space:]]6

    http_access allow all
    miss_access allow all
    snmp_access allow public_aloo all
    header_access Accept-Encoding deny ie6 hotmail_domains
    cache_mgr japaeye4u@hotmail.com
    cache_effective_user squid
    cache_effective_group squid
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_single_host off
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on
    logfile_rotate 10
    memory_pools off
    memory_pools_limit 0

    coredump_dir /var/spool/squid

    # opcoes de dns
    dns_retransmit_interval 5 seconds
    dns_timeout 2 minutes

    # negacao miss access
    acl irmaos src 127.0.0.0/255.0.0.0
    miss_access deny irmaos

    # opcoes de hierarquia
    icp_port 3131
    icp_access allow all

    # cache irmaos
    cache_peer 127.0.0.1 sibling 33127 3129 proxy-only
    cache_peer 127.0.0.1 sibling 33128 3130 proxy-only

Ainda pode melhorar o desempenho do squid, instalando um dns local, fazendo cache dns também. Para um serviço como esse de alto desempenho, é altamente recomendado.

Fora isso, tem aqueles ajustes finos no kernel e um firewall ajustado para o servidor.

Estou fazendo varios ajustes para acertar um bom desempenho. Já que não posso ter varias maquinas, vamos ver até onde esta vai aguentar.

Assim que tiver mais informações vou adicionar aqui.

Autor

  • japaeye4u - Jorge Fernando Matsudo Iwano - japaeye4u {NOSPAM} hotmail.com
Horários baseados na GMT -3. Agora são 16:54.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.