Em 2 de fevereiro de 2012 10:55, Saul Figueiredo <[email protected]> escreveu: > Em 2 de fevereiro de 2012 10:31, Marcelo Gondim > <[email protected]> escreveu: >> Em 02/02/2012 10:04, Saul Figueiredo escreveu: >>> Olá a todos, >>> >>> Essa é minha primeira participação na lista, espero poder contribuir >>> muito com essa comunidade, mais com soluções do que com problemas >>> espero. >>> >>> Tenho alguns servidores proxy onde trabalho, todos FreeBSD. Observei >>> que todas as maquinas estavam rodando o FreeBSD 8.2 i386 (versão >>> 32bits) e que uma delas, uma maquina Dell, tinha um processador que da >>> suporte a sistemas 64bits. >>> >>> Eu estava tendo alguns problemas de memoria com a máquina, cerca de 6 >>> mil usuários utilizam aquela maquina como proxy (a carga é balanceada >>> entre os 3), e as vezes o squid simplesmente reiniciava do nada. >>> Pesquisei um pouco e vi que meu problema era memoria: Eu utilizo um >>> CacheMem 3072 MB e a maquina reconhecia 3254 MB de RAM, O sistema >> >> Saul o uso do CacheMem não é como você está colocando, existe uma >> formula para isso. As pessoas costumam confundir isso e aí socam valores >> altos no CacheMem. >> Inclusive está relacionado com o cache_dirs. Abaixo a recomendação do >> próprio pessoal do Squid: >> >> >> How much memory do I need in my Squid server? >> >> As a rule of thumb on Squid uses approximately 10 MB of RAM per GB of >> the total of all cache_dirs (more on 64 bit servers such as Alpha), plus >> your cache_mem setting and about an additional 10-20MB. It is >> recommended to have at least twice this amount of physical RAM available >> on your Squid server. For a more detailed discussion on Squid's memory >> usage see the sections above. >> >> Ex: vamos dizer que você tenha no cache_dirs definido 100G de espaço. >> Logo em sistemas 32bits squid usa uns 10Mb por giga em 64bits uns 16Mb >> por giga. Vamos dizer que no seu cache_mem esteja com 256M logo a >> fórmula seria algo assim: >> >> - 100Gb de espaço no cache_dirs >> - 10Mb por cada giga dos 100Gb do cache_dirs em sistemas 32bits, em >> 64bits eu colocaria 16Mb por cada giga. >> - 256Mb de cache_mem >> - 20Mb adicional sugerido para o cálculo. >> >> Conta: >> >> 100 * 10 = 1000Mb + 256M + 20M = 1276Mb onde vc deveria ter de ram pelo >> menos o dobro desse valor, ou seja, você teria que ter na máquina 2552Mb. >> >> Repare que se você aumenta um valor o outro também é ajustado e eles são >> interligados. >> >> >> >>> rodava apertado com pouco menos de 200MB de RAM e quando a carga do >>> servdor subia, derrubava o squid e o inicializava novamente. >>> >>> Percebi que era ora de atualizar a memoria deste servidor. Enquanto as >>> memorias eram emcomendadas na dell (+4GB) , peguei este servidor e >>> instalei um FreeBSD 8.2 só que 64 Bits, ao fim da instalação, a >>> maquina reconheceu os 4GB de RAM. >>> >>> Vejam a configuração atual: >>> >>> proxy4# muse -m >>> kvm_open: kvm_nlist: No such file or directory >>> kvm_open: kvm_nlist: No such file or directory >>> Active: 2840.688 MB >>> Inactive: 341.574 MB >>> Wired: 542.820 MB >>> Reserved: 5.324 MB >>> Cache: 111.945 MB >>> Kernel: 0.133 MB >>> Interrupt: 0.008 MB >>> Buffer: 417.938 MB >>> >>> Total: 3939.402 MB >>> Free: 101.762 MB >>> >>> Swap: 8192MB >>> >>> ------------------------------------------------- >>> >>> proxy4# sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu' >>> hw.machine: amd64 >>> hw.model: Intel(R) Xeon(R) CPU 5130 @ 2.00GHz >>> hw.ncpu: 4 >>> hw.machine_arch: amd64 >>> >>> -------------------------------------------------- >>> >>> proxy4# uname -a >>> FreeBSD proxy4 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 >>> UTC 2011 [email protected]:/usr/obj/usr/src/sys/GENERIC >>> amd64 >>> >>> --------------------------------------------------- >>> >>> Agora continuo usando 3072 MB de CacheMem para o squid, e sobra um >>> pouco mais de memoria para o sisetma em sí utilizar. >>> >>> Porem venho notado algumas coisas, que achei bem estranho: >>> >>> 1 - Quando faço alguma alteração no squid, e dou um squid -k >>> reconfigure demora cerca de 3 a 4 minutos para o squid compilar e >>> voltar a navegar, o que não acontecia quando eu tinha a versão 32 >>> bits; >>> >>> 2 - A Utilização da SWAP passa a ser frequente agora. Antes no FreeBSD >>> 32bits, mesmo com falta de memoria, ele não usava sequer 100MB de >>> swap, já hoje, ele utiliza mais de 50% da partição de swap e olha que >>> eu tenho 8192MB de Swap. >>> Vejam no link da imagem a baixo o como fica o meu HTOP: >>> http://illuminaticorp.org/Util_swap.jpg >>> >>> Isso é normal ? >>> >>> >>> >>> -- >>> >>> "Deve-se aprender sempre, até mesmo com um inimigo." >>> (Isaac Newton) >>> >>> Atenciosamente, >>> Saul Figueiredo >>> Analista FreeBSD/Linux >>> Linux Professional Institute Certification Level 1 >>> Linux Professional Institute Certification Level 2 >>> ------------------------- >>> Histórico: http://www.fug.com.br/historico/html/freebsd/ >>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd >>> >> >> ------------------------- >> Histórico: http://www.fug.com.br/historico/html/freebsd/ >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > > > Marcelo, > Obrigado pela resposta. > Eu não conhecia muito bem a formula obrigado por envia-la. > > antes , quando eu montei esse servidor pela primeira vez, eu colocava > um cache_mem de 255 MB com um cache dir de 19GB. > > e ai, quando colocava a maquina em produção, quando atingia um certo > numero de conexões 7000 conexões, o squid restartava sozinho. Daí fui > alterando para cima o valor até parar, até 2048 MB, que foi quando > parou, aí então achei que quanto mais, melhor. > > E essa demora para voltar do squid -k reconfigure? antes de formatar > era tão rapido... > > Segue o meu squid.conf, substituí meu dominio pela palavra dominio. > > -----V > > http_port 3128 > > visible_hostname proxy4.servidor.dominio > > cache_mem 3072 MB > cache_dir ufs /sarg/cache/ 19000 16 256 > coredump_dir /sarg > > access_log /sarg/logs/access.log > cache_log /sarg/logs/cache.log > cache_store_log none > logfile_rotate 15 > cache_mgr [email protected] > error_directory /usr/local/etc/squid/errors/pt-br > > > #Faz o balanceamento nos 2 webshields > cache_peer 200.216.236.2 parent 8080 0 no-digest no-query round-robin weight=1 > cache_peer 200.216.236.36 parent 8080 0 no-digest no-query round-robin > weight=1 > > #Faz o balanceamento de autenticacao nos 2 ADs > auth_param ntlm program /usr/local/libexec/squid/ntlm_smb_lm_auth -b > dominio/servidor02 dominio/servidor01 > auth_param ntlm children 100 > auth_param ntlm keep_alive off > authenticate_ip_ttl 3600 seconds > > #auth_param basic program /usr/local/libexec/squid/ntlm_smb_lm_auth > dominio\\servidor02 > auth_param basic program /usr/local/libexec/squid/ntlm_smb_lm_auth -b > dominio/servidor02 dominio/servidor01 > auth_param basic children 2 > > hierarchy_stoplist cgi-bin ? > acl QUERY urlpath_regex cgi-bin \? > no_cache deny QUERY > > refresh_pattern ^ftp: 1440 20% 10080 > refresh_pattern ^gopher: 1440 0% 1440 > refresh_pattern . 0 20% 4320 > > #Regras padroes de seguranca > acl all src > acl manager proto cache_object > acl localhost src 127.0.0.1/32 > acl to_localhost dst 127.0.0.0/8 > acl SSL_ports port 443 563 2096 > acl Safe_ports port 80 81 82 84 21 443 563 4443 70 210 1025-65535 280 > 488 591 777 2096 > acl portas port 7777 8080 8888 8000 1041 4500 8686 1521 1630 2631 5297 10038 > acl CONNECT method CONNECT > acl senha proxy_auth REQUIRED > > acl rede_servidor src 10.0.0.0/8 > acl experti src 192.168.5.0/27 > acl gmail url_regex -i "/usr/local/etc/squid/regras/gmail.txt" > acl usuarios_negados proxy_auth -i > "/usr/local/etc/squid/regras/usuarios_negados.txt" > acl ips_dst_liberados dst "/usr/local/etc/squid/regras/ips_dst_liberados.txt" > acl dominio src "/usr/local/etc/squid/regras/listaip.txt" > acl ips_sem_auth src "/usr/local/etc/squid/regras/ips_sem_auth.txt" > acl acesso_sem_auth url_regex -i > "/usr/local/etc/squid/regras/acesso_sem_auth.txt" > acl twitter url_regex -i "/usr/local/etc/squid/regras/twitter.txt" > acl liberados dstdomain "/usr/local/etc/squid/regras/liberados.txt" > acl google dstdomain "/usr/local/etc/squid/regras/dominio_google.txt" > acl lib_google src "/usr/local/etc/squid/regras/lib_google.txt" > acl quiosque dstdomain > "/usr/local/etc/squid/regras/dominio_autoatendimento.txt" > acl autoatendimento src "/usr/local/etc/squid/regras/autoatendimento.txt" > acl bloqueados url_regex -i "/usr/local/etc/squid/regras/bloqueados.txt" > acl block_195 src "/usr/local/etc/squid/regras/block_195.txt" > acl permitidos_direct url_regex -i > "/usr/local/etc/squid/regras/permitidos_direct.txt" > acl urls_msn url_regex -i "/usr/local/etc/squid/regras/urls_msn.txt" > acl ips_msn src "/usr/local/etc/squid/regras/ips_msn.txt" > acl servidores src "/usr/local/etc/squid/regras/servidores.txt" > acl downloads_bloqueados urlpath_regex > "/usr/local/etc/squid/regras/downloads_bloqueados.txt" > > > http_access allow acesso_sem_auth > http_access deny manager !localhost > http_access deny CONNECT !SSL_ports > http_access deny !Safe_ports > > http_access deny bloqueados > http_access deny downloads_bloqueados > http_access deny block_195 > > http_access allow liberados > http_access allow servidores > http_access allow dominio permitidos_direct > #http_access allow gmail > http_access allow ips_msn urls_msn > http_access allow twitter > http_access allow rede_servidor ips_dst_liberados > http_access allow lib_google google > http_access allow autoatendimento quiosque > http_access deny usuarios_negados > http_access allow dominio senha > #http_access allow dominio > http_access deny all > > miss_access allow rede_servidor > miss_access allow experti > miss_access deny all > > always_direct allow permitidos_direct > > always_direct allow SSL_ports > never_direct allow all > > http_reply_access allow all > icp_access allow all > > > > > > -- > "Deve-se aprender sempre, até mesmo com um inimigo." > (Isaac Newton) > > Atenciosamente, > Saul Figueiredo > Analista FreeBSD/Linux > Linux Professional Institute Certification Level 1 > Linux Professional Institute Certification Level 2 > [email protected] > [email protected] > > Cel.: (31) 9647-7859 > Skype: saulfelipe
Alguém então teria mais alguma dica? -- "Deve-se aprender sempre, até mesmo com um inimigo." (Isaac Newton) Atenciosamente, Saul Figueiredo Analista FreeBSD/Linux Linux Professional Institute Certification Level 1 Linux Professional Institute Certification Level 2 [email protected] [email protected] ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

