|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiSolução prática sobre proxy-cache SQUID
[editar] IntroduçãoOlá 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. [editar] ConfiguraçãoSegue abaixo um modelo dos arquivos de configuração. [editar] squid1.confsquid1.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
[editar] squid2.confsquid2.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
[editar] squid3.confsquid3.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. [editar] Autor
|