Projeto Squid

Este artigo é um resumo de "TCC Projeto Squid", pela qual juntamente com mais dois grandes amigos, Cristiano e Gilberto, obtivemos o título de Bacharel em Ciência da Computação. Portanto espero que possa ajudar os demais amigos, seja como material de pesquisa ou idéias para possíveis soluções pertinentes ao proxy Squid.

[ Hits: 222.042 ]

Por: GersonRaymond em 22/11/2007


Lista de siglas e abreviaturas



ACL (Access Control List ou Lista de Controle de Acesso): definida pela área de ciência da computação como uma lista que define quem tem permissão de acesso a certos serviços. Isso é para quem um servidor deve permitir ou negar determinada tarefa. É normalmente uma lista de princípios com os tipos de acesso definido para cada usuário ou grupo.

ADSL (Asymmetric Digital Subscriber Line): é um formato de DSL, uma tecnologia de comunicação de dados que permite uma transmissão de dados mais rápida através de linhas de telefone do que um modem convencional pode oferecer.

Backbone: No contexto de redes de computadores, o backbone (traduzindo para português, espinha dorsal) designa o esquema de ligações centrais de um sistema mais amplo, tipicamente de elevado débito (velocidade, no português do Brasil) relativamente à periferia.

Backup: Refere-se à cópia de dados de um dispositivo para o outro com o objetivo de posteriormente os recuperar (os dados), caso haja algum problema.

Browser: (também conhecido como web browser) é um programa que habilita seus usuários a interagirem com documentos HTML hospedados em um servidor Web.

Cache: É um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A vantagem principal na utilização de uma cache consiste em evitar o acesso ao dispositivo de armazenamento - que pode ser demorado - e que vale a pena armazenar as informações procuradas em meio mais rápido.

CGI (Common Gateway Interface): Consiste numa importante tecnologia que permite gerar páginas dinâmicas permitindo a um navegador passar parâmetros para um programa alojado num servidor web.

Dial-up: É um tipo de acesso à Internet no qual uma pessoa usa um modem e uma linha telefônica para se ligar a um nó de uma rede de computadores do ISP. A partir desse momento, o ISP encarrega-se de fazer o routing para a Internet.

DNS (Domain Name System - Sistema de Nomes de Domínios): É um sistema de gerenciamento de nomes hierárquico.

Ethernet: É uma tecnologia de interconexão para redes locais - Local Area Networks (LAN) - baseada no envio de pacotes. Ela define cabeamento e sinais elétricos para a camada física, e formato de pacotes e protocolos para a camada de controle de acesso ao meio (Media Access Control - MAC) do modelo OSI. A Ethernet foi padronizada pelo IEEE como 802.3. A partir dos anos 90, ela vem sendo a tecnologia de LAN mais amplamente utilizada e tem tomado grande parte do espaço de outros padrões de rede como Token Ring, FDDI e ARCNET.

Expressão regular: Um padrão a ser usado para procurar ou substituir palavras ou grupos de palavras. É um meio preciso de se fazer buscas de determinadas porções de texto.

Firewall: É o nome dado ao dispositivo de rede que tem por função regular o tráfego de rede entre redes distintas e impedir a transmissão de dados nocivos ou não autorizados de uma rede a outra. Dentro deste conceito incluem-se, geralmente, os filtros de pacotes e Proxy de protocolos.

FTP (File Transfer Protocol - Protocolo de Transferência de Arquivos): É uma forma bastante rápida e versátil de transferir arquivos, sendo uma das mais usadas na internet.

Gateway: É uma máquina intermediária geralmente destinada a interligar redes, separar domínios de colisão, ou mesmo traduzir protocolos. Exemplos de gateway podem ser os routers (ou roteadores) e firewalls, já que ambos servem de intermediários entre o utilizador e a rede. Um Proxy também pode ser interpretado como um gateway (embora em outro nível, aquele da camada em que opera), já que serve de intermediário também.

Gopher: É um protocolo de redes de computadores que foi desenhado para indexar repositórios de documentos na Internet.

Host: É qualquer máquina ou computador conectado a uma rede. Os hosts variam de computadores pessoais a supercomputadores, dentre outros equipamentos, como roteadores.

HTML (HyperText Markup Language - Linguagem de Formatação de Hipertexto): Trata-se de uma linguagem de marcação utilizada para produzir páginas na Internet. De modo geral são documentos de texto escritos em códigos que podem ser interpretados pelos browsers para exibir as páginas da World Wide Web.

HTTP (HyperText Transfer Protocol - Protocolo de Transferência de Hipertexto): É um protocolo da camada de "Aplicação" do modelo OSI, utilizado para transferência de dados na World Wide Web. Esse é o protocolo da World Wide Web (www). O mesmo transfere dados de hiper-midia (imagens, sons e textos). Algumas de suas características são: geralmente este protocolo, utiliza a porta 80 e é usado para a comunicação de "sites".

ICP (Infra-estrutura de Chaves Públicas): Uma Infra-Estrutura de Chaves Públicas é um órgão ou inciativa pública ou privada para a organização de uma estrutura de emissão de chaves públicas, baseando-se no princípio da terceira parte confiável, oferecendo uma mediação de acreditação e confiança em transações entre partes que utilizam certificados digitais, bem como se responsabilizando pela emissão de tais certificados, assumindo-se então como a parte confiável destas transações. A infra-estrutura de chaves públicas do Brasil é a Infra-Estrutura de Chaves Públicas Brasileira, ou ICP-Brasil.

ICQ: É um programa de comunicação instantânea pela Internet que foi o mais popular durante anos.

IMAP (Internet Message Access Protocol): É um protocolo de gerenciamento de correio eletrônico superior em recursos ao POP3 - protocolo que a maioria dos provedores oferece aos seus assinantes. A última versão é o IMAP4. O mais interessante é que as mensagens ficam armazenadas no servidor e o internauta pode ter acesso a suas pastas e mensagens em qualquer computador.

IP (Internet Protocol - Protocolo de Internet): É um protocolo usado entre duas máquinas em rede para encaminhamento dos dados.

ISP (Internet Service Provider): Oferece principalmente serviço de acesso à internet, agregando a ele outros serviços relacionados, tais como "e-mail", "hospedagem de sites" ou blogs, entre outros.

Kernel: É entendido como o núcleo do Sistema Operacional ou, numa tradução literal, cerne. Ele representa a camada mais baixa de interface com o Hardware, sendo responsável por gerenciar os recursos do sistema computacional como um todo. É no kernel que estão definidas funções para operação com periféricos (mouse, discos, impressoras, interface serial/interface paralela), gerenciamento de memória, entre outros. Resumidamente, o kernel é um conjunto de programas que fornece para os programas de usuário (aplicativos) uma interface para utilizar os recursos do sistema.

Link: É uma referência num documento em hipertexto a outro documento ou a outro recurso.

Login: É um conjunto de caracteres solicitado para os usuários que por algum motivo necessitam acessar algum sistema computacional. Geralmente os sistemas computacionais solicitam um login e uma senha para a liberação do acesso.

Logs: É o termo utilizado para descrever o processo de registro de eventos relevantes num sistema computacional.

MIME (Multipurpose Internet Mail Extensions): É uma norma da Internet para o formato das mensagens de correio eletrônico.

NAT (Network Address Translation): Também conhecido como masquerading é uma técnica que consiste em reescrever os endereços IP de origem de um pacote que passam sobre um router ou firewall de maneira que um computador de uma rede interna tenha acesso ao exterior (rede pública).

NFS (Network File System): É um modelo de sistema de arquivos, que tem como função centralizar arquivos em um servidor, formando assim um diretório virtual. NNTP (Network News Transfer Protocol): É um protocolo da internet para grupos de discussão da chamada usenet.

OSI (Open Systems Interconnection): É um conjunto de padrões ISO relativo à comunicação de dados.

POP (Post Office Protocol (POP3)): É um protocolo utilizado no acesso remoto a uma caixa de correio eletrônico.

RAID (Redundant Array of Independent Disks - Conjunto Redundante de Discos): É um meio de se criar uma unidade virtual composta por vários discos individuais, com a finalidade de duplicação (redundância, recuperação de falhas) ou balanceamento (operações I/O em paralelo).

SCSI (Small Computer System Interface): A tecnologia SCSI foi criada para acelerar a taxa de transferência de dados entre dispositivos de um computador, desde que tais periféricos sejam compatíveis com o padrão.

SMTP (Simple Mail Transfer Protocol): É o padrão de fato para envio de e-mail através da Internet.

SSL (Secure Sockets Layer): É um protocolo criptográfico que provêem comunicação segura na Internet para coisas como e-mail, navegação por páginas, e outros tipos de transferência de dados.

Tag: São estruturas de linguagem de marcação que consistem em breves instruções, tendo uma marca de início e outra de fim.

TCP (Transmission Control Protocol): É um dos protocolos sob os quais assenta o núcleo da Internet nos dias de hoje. A versatilidade e robustez deste protocolo tornou-o adequado para redes globais, já que este verifica se os dados são enviados de forma correta, na seqüência apropriada e sem erros, pela rede.

Telnet: É um protocolo cliente-servidor de comunicações usado para permitir a comunicação entre computadores ligados numa rede, baseado em TCP.

TTL (Time to Live): Significa o número de máquinas que os pacotes podem demorar numa rede de computadores antes de serem descartados (máx. 255). UDP: Dá às aplicações acesso direto ao serviço de entrega de datagramas, como o serviço de entrega que o IP dá.

URL (Universal Resource Locator - Localizador Universal de Recursos): É o endereço de um recurso, disponível em uma rede; seja a Internet, ou uma rede corporativa, uma intranet.

WEB: É uma rede de computadores na Internet que fornece informação em forma de hipertexto.

Página anterior     Próxima página

Páginas do artigo
   1. Resumo
   2. Lista de siglas e abreviaturas
   3. Introdução
   4. Objetivo
   5. Squid
   6. Oops
   7. Dansguardian
   8. Proxy transparente
   9. Cache
   10. Características do Proxy Squid
   11. Função do proxy Squid
   12. Progresso do Squid
   13. Listas de Controle de Acesso
   14. Squid como servidor
   15. Referências de conexão
   16. Configuração
   17. A escolha
   18. Introdução ao Perl
   19. Introdução ao PostgreSQL
   20. O HDparm
   21. Kernel
   22. Conclusão
   23. Referências
Outros artigos deste autor

TinyOS

Arduino - Crie o seu próprio robô ou sensores inteligentes

Leitura recomendada

Squid autenticado no Active Directory com Winbind

Proxy transparente com Squid 2.6 e FWBuilder

Cache Full Squid + WebHTB

SquidGuard: o bloqueador de listas para o Squid

Identificando usuários Squid com o IDENTD

  
Comentários
[1] Comentário enviado por giaco em 22/11/2007 - 07:55h

Parabéns! Muito completo o estudo. Aprendi várias coisas que nem conhecia, como usar um banco de dados para as regras do Squid ou o HDparm.

[2] Comentário enviado por adrianoturbo em 22/11/2007 - 08:47h

Parabéns acabou de criar uma verdadeira bíblia do saber de redes ,bem providencial em todos os ângulos enclarecendo até os pormenores que servem de pre-requisitos para o ingresso do aficionado para esse universo paralelo chamado tecnologia da informação.
De A a Z criou um manual de instrução digno de elogios desta grande comunidade e que a informação esteja ao alcance de todos.
Boa sorte e felicidades!

[3] Comentário enviado por acollucci em 22/11/2007 - 09:17h

rsrsrss... isso e quase uma biblia^^

[4] Comentário enviado por zilli em 22/11/2007 - 10:14h

Parabéns pela iniciativa.

Ótimo trabalho.

[5] Comentário enviado por removido em 22/11/2007 - 11:54h

Aí... o barato ficou bom memo ó...
Não vou ficar aqui falando difícil, mas o baguiu ficou fódão mesmo mano...
é isso memo...
Satisfação irmão...

[6] Comentário enviado por brunoptu em 22/11/2007 - 12:38h

Sem comentários...

Parabens pelo trabalho!!!

[7] Comentário enviado por Ed_slacker em 22/11/2007 - 12:52h

Só uma palavra: SEN-SA-CIO-NAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLLLLLLLLLLL!!!!!!!!

[8] Comentário enviado por heitorcmj em 22/11/2007 - 13:49h

Raymond,

Muito bom mesmo, parabéns a você e seus amigos. Seria legal se criasse um PDF imprimível e dispormos dessa excelente referência onde quer que formos.

[9] Comentário enviado por paliveira em 22/11/2007 - 13:51h

Boa tarde...
Parabéns pelo Artigo...

Aproveitando o ensejo....

Eu uso várias instancias do squid no mesmo server e compartilhando o mesmo cache.

Tenho um kernel SMP (FC7), alguém sabe como posso definir afinidade nas minhas instancias com os processadores?

Isto é, onde quero que determinado squid rode...

vlw

[10] Comentário enviado por maran em 22/11/2007 - 14:21h

cara de boaaaa um dos melhores artigos que ja vi aqui no vol
favoritos...
Te Mais...

[11] Comentário enviado por fabiobarby em 22/11/2007 - 14:37h

Ótima referência! Parabéns e sucesso a vocês!

[12] Comentário enviado por Adnarim em 22/11/2007 - 15:39h

Excelente trabalho!
Estou sem palavras para parabenizá-lo.

[13] Comentário enviado por Jeremias Costa em 22/11/2007 - 16:43h

muito bom mesmo !!
estão todos de parabens !!
e viva o linux !!!

[14] Comentário enviado por fabioarnoni em 22/11/2007 - 23:18h

Caraa , parabéns vai servir perfeitamente pra mim , falo! abraços!!!!

[15] Comentário enviado por matux em 22/11/2007 - 23:43h

Seu TCC está brilhante! Parabéns amigo...tô terminando o meu agora.

[16] Comentário enviado por alexandre_mpm em 23/11/2007 - 13:00h

Ótimo trabalho parabens mesmo!!!
Ficou show de bola!!!

[17] Comentário enviado por igormorgado em 23/11/2007 - 14:43h

Vendo que o houve dedicação em criar este documento, vao as minhas criticas:

Acredito que voce tenha se perdido no objetivo do documento ou deixou pouco claro ao leitor, não acredito q o teu objetivo seja "ensinar" o leitor a configurar um squid e sim mostrar as vantagens da forma em que voce configura. Mas se o seu objetivo foi ensinar, certamente foi falho, pois em diversos aspectos voce nao esclarece como e onde fazer as alteracoes (como por exemplo onde configurar para fazer um proxy transparente ou nao, dentro das configuracoes do squid). Ou em como fazer um redirecionamento de portas usando uma ferramenta qualquer.

Outro ponto que eu coloco que muitas das suas afirmacoes sao vagas e os numeros imprecisos, como voce pode afirmar que o HDPARM aumenta a velocidade em ateh 5 vezes? Estamos falando de uma aplicacao especifica (SQUID), que tem um tipo de acesso especifico ao disco. Voce deveria fazer um profiling da aplicacao usando e nao usando o hdparm, mostrar diferentes cenarios, como acesso a cache , leitura, startup, escrita e apresentar um comparativo, assim, dando o seu parecer.

Da mesma forma voce nao pode concluir de forma pontual muitas das suas colocacoes (como por exemplo que o RAID 0 eh feito para aumento de performance), tendo em vista que isso nao faz o menor sentido (voce deveria ler mais sobre como um raid 0 funciona)

Outra falha é a sua bibliografia, digo eu que ela é uma bibliografia extremamente fraca, salvo algumas raras excecoes. A maioria dos livros nacionais do assunto sao vagos, erroneos, cheios de opnioes pessoais e sem fundamento. Nao vi voce consultar em momento algum a referencia oficial ou autores mais conceituados.

Nao estou querendo dizer se oq voce fez funciona ou nao, e sim que faltam algumas caracteristicas necessarias a um TCC, que sao base do nosso modelo cienfico moderno: testar, analisar e criticar.

Existem diversos outros trechos no qual eu poderia comentar. Para uma melhora nesse teu TCC, me espanta que o professor nao lhe apontou essas falhas e espero que voce tenha evoluido bastantes com o seu trabalho.

Boa sorte

[18] Comentário enviado por gersonraymond em 23/11/2007 - 16:46h

Agradeço pelas suas críticas, pois através delas crescemos constantemente, se você observar verá que trata -se de um resumo. Sinto -me feliz por você está bem evoluído em todos os assuntos, mas tenha certeza de uma coisa o que é verdade agora pode ser mentira logo após "quantos paradigmas já foram quebrados principalmente na área de segurança". Se você tem conhecimentos profundos de determinados assuntos por gentileza publique os mesmos e seja bem vindo a nossa carência de informação, a Comunidade Linux agradece. Lembre -se conhecimento a sete chaves é conhecimento morto. E quanto aos comentários sobre o TCC muito obrigado, fomos bem orientados, portanto estou tranquilo e concluo que a cada dia que passa vejo que realmente não sei nada e preciso aprender bastante. Pelo seu perfil de usuário vi que você não tem nada ainda publicado e é uma "pena", pois precisamos de forças, afim de evoluirmos, junte -se a nós, um abraço.

[19] Comentário enviado por georgevenancio em 23/11/2007 - 21:12h

?comentario=Bom, achei seu artigo muito interessante, assim como os comentários. Li também o comentário do nosso amigo igormorgado, que (na minha modesta opinião), não levou em consideração o fato do Artigo ser apenas um resumo do TCC do amigo raymond e seus companheiros. Achei até mesmo injusta essa iniciativa. Creio que todo e qualquer artigo aqui publicado deva ser comentado e criticado, no bom e no mal sentido, mas precisamos primeiramente verificar todo o conteúdo, lendo também título e notas para sabermos se o que estamos dizendo é coerente ou não, pois podemos ser mal interpretados devido às críticas. Tenho a certeza que foi apenas um engano da parte do colega. Gostei muito do artigo, mesmo não sendo expert em linux, entro aqui apenas para ver o que está sendo abordado, já que quero começar a aprender a fundo sobre esse querido sistema operacional. Parabéns ao autor e seus colegas do TCC e continuem mandando mais artigos valiosos como esse, um abraço.

[20] Comentário enviado por alexandrecorrea em 24/11/2007 - 00:31h

amigo.. a definição de cache_mem esta confusa..

cache_mem limita APENAS a quantidade de memoria que o squid vai usar para objetos quentes.. ou seja.. objetos em TRANSITO...

o cache_mem NAO limita a quantidade de memoria que o squid vai consumir :)

e o valor do cache_mem nao deve NUNCA passar dos 25% de ram total do servidor

vide: wiki.squid-cache.org


... parabens pelo artigo :)

[21] Comentário enviado por capitainkurn em 24/11/2007 - 03:35h

O artigo está muito bom, para um projeto de conclusão de curso ou monografia, mas sinceramente prefiro mais ênfase em aplicações práticas e de produção. Acho que poderia ter enriquecido muito mais seu trabalho com exemplos práticos de proxy autenticado, proxy reverso etc. E benchmarks comparativos tais como da performance do método de acesso ao cahe (ufs, diskd etc.). No mais ficou um excelente trabalho! Parabéns!

[22] Comentário enviado por p@b10 em 24/11/2007 - 23:20h

Nem pude ler ainda... pq to muito sem tempo =/ mas tenho certeza que pelo Sumario e INtrodução .... teremos uma pérola aqui no VOL!!!!

Parabéns para o artigo... vai pro meu favoritos ;-)

[23] Comentário enviado por gersonraymond em 25/11/2007 - 07:21h

Olá Alexandre Correa, o cache_mem define a quantidade de memória que o Squid irá usar, mas é bom lembrar que o manual do Squid adverte que a memória aqui mencionada é referente a objetos em trânsito, objetos ``quentes'' e objetos com negativa de cache, ou seja, é a memória apenas para ele utilizar na manipulação dos seus objetos e não ao total de memória consumida por ele, que pode ser duas ou três vezes maior; Link: http://www.squid-cache.org.br/index.php?option=com_content&task=view&id=82&Itemid=27. Veja também no Link: http://www.linuxman.pro.br/squid/node/1/#toc130 outro conceito, um abraço.

[24] Comentário enviado por gersonraymond em 25/11/2007 - 07:44h

olá amigo igormorgado, sobre o HDPARM, veja esta definição: "Uma ferramenta de fundamental importância no hdparm é o teste de desempenho. Você deve verificar o HD antes de fazer alterações nos parâmetros do mesmo e, assim que fizer alterações, voltar a realizar os testes para comparar e verificar se houve melhora no desempenho ou não.", o que esclarece o termo "em até 5 vezes", pois depende do caso propriamente aplicado, informações em "Tire o máximo do seu HD usando o HDPARM" no Link: http://my.opera.com/pingflood/blog/show.dml/59728, muito bom o artigo.


Sobre o RAID 0 (Striping):
é o modo que permite obter a melhor performance possível, sacrificando parte da confiabilidade. Todos os discos passam a ser acessados como se fossem um único drive.... Veja o complemento neste belo artigo "RAID, aumentando a performance e a confiabilidade" no Link: http://www.guiadohardware.net/artigos/raid-aumentando/, um abraço.

Espero esclarecer alguns fatos para os demais amigos, um abraço a todos.

[25] Comentário enviado por elgio em 25/11/2007 - 11:45h

Pois é... Não sei o que os autores do artigo esperam de avaliações aqui!

Se esperam um comentário sobre um artigo do Vol, então devo dizer que o artigo está muito bom, apesar de que poderia ter sido ainda mais resumido e ter ido direto ao ponto, mas está bom.

Mas se a avaliação esperada é quanto a um TCC, receio que a avaliação não seja tão simples assim...

Trata-se de um resumo, mas sessões foram 100% omitidas ou estão todas lá, só o texto foi reformatado? Vou assumir que todas as sessões foram mantidas, excluindo-se os anexos.

O objetivo do TCC (não do artigo) é bem claro: otimizar o Squid quanto ao desempenho de ACLS. Os autores dizem que o o squid tem desempenho ruim à medida que as regras de bloqueio vão aumentando. Sim, isto é uma conclusão óbvia. Observei que os autores extenderam o foco ao longo do trabalho mas mantiveram os objetivos. Extenderam para "desempenho em geral", pois abrangeram ainda desempenho de cache, dentre outros, mas na sessão dos objetivos eles escrevem de forma bastante clara: ACLS!

O que uma configuração de disco rígido empactaria em uma melhora de desempenho de ACLS? Veja, não acho que o TCC tenha seu foco errado, só acho que faltou mudar o objetivo do TCC (torná-lo mais abrangente).

No decorrer do TCC tem muitas coisas imcompletas e não científicas, como já devidamente citadas em um comentário anterior ao meu (igormorgado). O próprío fato de ACL piorar o desempenho, por exemplo: acredito que teria sido MUITO proveitoso uma bateria de testes que medisse o tempo de resposta do squid para 1000 regras, para 10000, ... Assim se estabeleceria o quão lento o mesmo pode vir a ser.

Coisas simples que melhoram MUITO o desempenho foram ignoradas:

1) escolha de um sistema de arquivos que melhor se ajuste a cache (ext3 com journaling? Pra que? xfs?)

2) Algumas configurações de montagem como desligar o atime também melhoram o acesso ao disco consideravelmente.

3) (ainda com o foco em ACLS) a correta escolha de acls, como reunir N regras em apenas uma única com uma correta expressão regular.

Baseado em que (qual literatura?) se diz que as pesquisas de um Banco de dados é mais eficiente que a do squid? Os desenvolvedores do squid são limitados para programarem dentro do squid as melhores técnicas de pesquisa existentes? Creio que não, mas de qualquer forma, se não houver uma referência a respeito...

Ainda, Banco de dados se torna vantajoso quando o volume de dados for realmente grande. De quanto estamos falando? Quantas regras de ACLS? foi feita uma análise de desempenho com um arquivo de 2000 regras (por exemplo) comparando com um Banco de dados com também 2mil (indo para 4, 10 mil)? Pode ser que sim, pois como o autor disse isto é só um resumo e não sei realmente o que entrou na versão final do TCC.

Acredito (e se não testar, fica no senso comum mesmo) que não se ganhará nada (em termos de DESEMPENHO), podendo até perder, com o advento de um Banco de dados para as Acls. Porque o squid já lê uma vez só um arquivo de regras e o coloca em memória JÁ EMPREGANDO excelentes técnicas de pesquisa entre elas. Mudar para BD significa um overhead a mais, o acesso remoto ao BD (mesmo que seja local é um acesso via sockets). Isto é mais rápido?

No mais peço desculpas por este meu comentário, pois não resisti a tentação de avaliar o "artigo" como se fosse membro da banca e não como um membro do Vol!

[26] Comentário enviado por gersonraymond em 25/11/2007 - 14:02h

Amigo Elgio Schlemer, na data de 25/06/2006 18:41 eu postei no forum do squid-cache Link: http://forum.squid-cache.org.br/, pela qual encontra -se desativado a sequinte solicitação, infelizmente não obtive respostas. Mas o texto mostra claramente o nosso objetivo. O codigo fonte do Squid possui mais de 5 mil linhas uma tarefa nada fácil mas não impossível de implementar outros algoritmos compilando os mesmos e observando seu desempenho. Sem dúvida o algoritmo de busca do Squid "hash" é super eficaz mas como trata -se de uma pesquisa propriamente o fator de implementação, afim de obter outros resultados é considerável.

"Meus caros amigos solicito ajuda de membros que trabalhem com o proxy Squid para participar de um projeto que julgamos muito importante para todos. Sabemos que quando temos um numero elevado de requisiçôes "ACLs" em cima do proxy Squid o mesmo consome significativamente memória aumentando consideravelmente o custo de hardware. Estamos verificando o código fonte do Squid para melhorar seu desempenho, já sabemos que o mesmo trabalha com algortimo de busca "hash" e a nossa pesquisa é em cima de possíveis algoritmos de busca para implementação no codigo fonte do mesmo, afim de otimização do mesmo. Estamos cientes que através de métodos alternativos como banco de dados, Diskd e Hdparm e o trabalho propriamente do Squid com outros filtros aumenta seu desempenho de uma certa forma levando em consideração o tipo de aplicação implementada. Estamos usando este trabalho no desenvolvimento de uma monografia "TCC" referente ao curso de Ciência da Computação - UNIB - Universidade Ibirapuera - SP. Nosso objetivo é uma parceria com programadores que achem o projeto envolvente e possamos trocar informações contribuindo com desenvolvimento desde brilhante proxy "Squid", logo poderemos disponibilizar nossa monografia para a comunidade GNU. Estamos a disposição e aguardamos contato, obrigado. "


Obs: Para desenvolvimento da monografia é requerido um livro como base, portanto adotamos o livro "Squid: Solução Definitiva", por apresentar todas as características de um proxy eficiente, objeto de nosso estudo.


Cristiano - Spekitru@yahoo.com.br

Gerson - geraymond@gmail.com

Gilberto - gilbertogtc@yahoo.com.br


[27] Comentário enviado por igormorgado em 26/11/2007 - 10:00h

(redigitado pois perdi tudo pois nao estava logado)

Caro obrigado pela resposta,

Acredito que nosso colega Elgio colocou muito bem (apesar dos problemas na transcricao para ca, provavelmente pelo mesmo problema que tive :-( ).

Se for comparar o seu artigo a um artigo convencional do VoL voce tirou 10, agora se for comparar a um TCC (IMO) , voce ficou abaixo da expectativa.

O problema que transcrever um resumo de um TCC que em sua essencia já é um "resumo" de um determinado saber sob o ponto de vista do graduando torna a analise imprecisa. Ficou para mim pouco claro qual foi a parte resumida, seria mais proveitoso para todos ter o acesso ao seu TCC completo.

Acredito que voce deva se focar mais em testar as suas afirmacoes ao inves de toma-las como verdades absolutas. Como voce mesmo citou, os cenarios podem ser diversos e voce deveria testa-los da forma mais abrangente e nos apresentar um comparativo. Mais uma vez o Elgio colocou muito bem com relacao as suas colocacoes, simplesmente assumir que banco de dados melhor que arquivo texto, eh complicado e pode levar a voce a erros grotescos. Como todos que estudamos sabemos, nao existe algoritimo nem sistema perfeito, cada um tem uma aplicacao, principalmente quando falamos de: busca, organizacao e compactacao.

Com relacao ao seu interesse em desenvolvimento em melhores algoritimos para o squid, isso eh muito bom mas o mundo do SL vive de uma simples regra: Construa e eles virao. Dificilmente voce obtera ajuda de uma iniciativa, mas pode ter um caminhao de comentarios e patches se voce postar algo ligeiramente funcional como: "Patch para otimizacao do algoritimo LFU". Outro erro, voce postou em forum.squid-cache.org.br, nem sabia que isso existia, os autores do squid provavelmente tb nao. Fale com quem sabe squid-dev%squid-cache.org

Vejo que seu trabalho superou muitos livros/artigos que voce faz referencia, acredito que se voce torna-lo mais abrangente, fazer os testes necessarios e reorganiza-lo se tornara um livro muito bom, mas por favor se voce pensa em fazer isso tenha AUTOCRITICA, pois o publico brasileiro esta cheio de livros e autores mediocres.

(e caso alguem ainda nao tenha notado, criei essa conta somente para fazer a critica ao seu artigo)

[28] Comentário enviado por elgio em 26/11/2007 - 11:07h

igormorgado: obrigado por ter observado que meu comentário ficou, digamos, estranho :-D

Realmente, eu PERDI a primeira edição. Ai decidi escrever tudo em um editor de textos e somente COLAR na area de comentários. Uma espécie de PASTE recursivo ocorreu que não sei explicar... Mas já está corrigido.

[29] Comentário enviado por gersonraymond em 26/11/2007 - 15:42h

Olá amigos como trata -se de um resumo confesso que omiti várias coisas principalmente os anexos que contém scripts com banco de dados PostgreSQL, AWK, SED, perl, etc ... demonstrando a performance do Squid na implementação de forma prática. Pois tenho vários projetos como dar continuidade no assunto, afim de obter o Mestrado e consolidar a minha empresa em cima de alguns produtos inerentes a aplicação respeitando na íntegra a GNU/Linux. Meu objetivo mesmo foi passar alguma informação para a Comunidade Linux que sempre ajudou -me em todos os detalhes, alias se não fosse a Comunidade Linux com certeza seria mais um "profissional ruindows rrrr..." no mundo da informática, do jeito que foi postado com certeza seria reprovação iminente, no caso de TCC, rsssrs, um abraços a todos.

[30] Comentário enviado por afrox em 27/11/2007 - 00:36h

Realmente tenho que tirar o chapeu, otimo o trabalho de vocês, deveria existir mais iniciativas como essa...
abraços

[31] Comentário enviado por rickordeb em 27/11/2007 - 14:31h

Parabéns pelo Artigo! Muito completo.
Só acho que faltaram aluns exemplos práticos.
Mas realmente, de parabéns.

[32] Comentário enviado por igormorgado em 28/11/2007 - 11:29h

Ah.. entendi. Entao voce escondeu o ouro! assim fica mesmo com cara de que ta faltando algo. Boa sorte na empresa e nos projetos.

[33] Comentário enviado por fenixprovedor em 08/12/2007 - 19:07h

mano to no ramo a 20 anos, e a 01 usando linux, quase fico doido pra configurar o squid, so descobrir esse artigo agora, mas tem muita coisa interesante, valeu, vai ser meu tutorial daqui pra fente,

[34] Comentário enviado por hugobcar em 17/01/2008 - 17:16h

Dansguardian + Squid

Boa tarde, estou implementando o Dansguardian com Squid e está tudo funcionado bem. Estou querendo usar o Dansguardian somente para usar o clamav junto. Porém, gostaria que o squid fizesse o controle de acesso por ips, pois tenho um sistema de autenticação em php, que funciona somente com o squid. Mas ao usar o Dansguardian junto, dá erro, pois o dansguardian passa ao squid o ip 127.0.0.1, não podendo então ser feito o controle.


Alguém pode me ajudar ?

[35] Comentário enviado por mrdreyfuss em 16/04/2009 - 14:55h

Creio que nosso amigo igormorgado se excedeu um pouco nas críticas, porém isso me dá liberdade de colocar as minhas, no meu campo de atuação:
1 - o correto é vão, com til, e não "vao"
2 - "criticas" - nesse caso acredito que não esteja falando sobre o verbo empregado na 3ª pessoa do singular, mas sim "críticas", palavra acentuada.
3 - voce - tem acento - você - 10 ocorrências.
4 - uso incorreto da vírgula - mais de 10 ocorrências.
5 - nao - usa-se til - 10 ocorrências
6 - alteracoes - usa-se til e cedilha- alterações.
7 - colocacoes - mais 1 til e cedilha.
8 - excessoes - mudar para exceções - aí o português foi assassinado de vez - diria que foi uma chacina de 3 modos de errar a escrita ele conseguiu 2.
9 - sao - mudar para sao
10 - erroneos, opnioes (???)
11 - caracteristicas
12 - necessarias
13 - cienfico (???)
14 - bastantes (???) é muito bastante ou são vários bastanteS?

Meu caro, antes de falar da trave do olho do teu irmão, tira o argueiro que está no seu. Você balbuciou algo em ler livros, mas acho que isso é o que você menos faz. Você poderia ler livros, mesmo de autores nacionais, pois pelo menos o teu vernáculo melhoraria um pouco. Me enoja um profissional criticar o trabalho de outro nos moldes como você o fez.
Com relação a profissionalismo, recomendo mudar o sistema operacional que você atua, pois se até agora você não conseguiu acentuar corretamente, é porque lhe falta competência em alguma área, no velho e bom português ou na correta configuração do teclado. Mas como você conseguiu (pasmem!!!) acentuar corretamente algumas palavras, acho que em nenhum dos dois ramos você tem cacife para falar.

[36] Comentário enviado por leonardopessoa em 10/01/2012 - 15:03h

Dois anos depois, mas vamos lá...

mrdreyfuss:

Este aqui (caixa de comentários) é um espaço INFORMAL para discussões, portanto, não vejo o porque de tanto alvoroço por conta de acentuações e afins. As críticas do igormorgado têm fundamento e o trabalho não está compatível com o que é esperado de um TCC, pelo menos não nos padrões da universidade na qual me formei e nem da maioria das Universidades Federais que se prezem. Não estou querendo desvalorizar o trabalho do autor. Acredito que qualquer contribuição seja válida, com um mínimo de bom senso, obviamente.
Falar "bonito" ou um português correto em uma caixa de comentários não vai te fazer melhor ou mais capacitado que alguém. Deveria rever as críticas feitas pelo nosso colega e ver se realmente não fazem sentido.
Não acredito que uma frase como "Como seria feita esta alteração?. Pesquisamos métodos de ordenação e métodos..." passaria desapercebida e não seria notada em um ambiente acadêmico ou de pesquisa. Ou você que é "da área" não se deu ao trabalho de ler o artigo todo? Ao invés de criticar COMENTÁRIOS, poderia auxiliar o autor do texto.

Novamente, ressalto o empenho do autor em compartilhar seu trabalho mas há sempre espaço pra melhorar. Acredito que tenha sido a intenção do igormorgado de apenas apontar sugestões de melhorias.

Parabéns ao autor e ao igormorgado pelo empenho no compartilhamento de informações.

[37] Comentário enviado por gersonraymond em 15/01/2012 - 23:51h

Olá Leonardo !!! O que foi apresentado foi revisado, afim de retirar as redundâncias de português citadas. No mais gostaria que além de comentários fosse postados trabalhos de alto gabarito principalmente de Universidades Federais. A diferença está em tentar fazer algo mesmo com erros. Faça diferente, poste o seu trabalho e contribua com a aprendizagem de todos. Um grande abraço a minha querida cidade natal - Belo Horizonte.

[38] Comentário enviado por rjdiniz em 06/07/2015 - 15:35h

Cara... sabe aquela ponte que liga nada a lugar algum! É assim seu artigo, ele é empírico, só server como embasamento teórico; não tem nada funcional... Ficou bem redigido e bem articulado; cara de TCC mesmo! Sucesso nos próximos...

[39] Comentário enviado por gersonraymond em 06/07/2015 - 18:35h


Olá amigo !!! Mil desculpas por você perder o seu tempo !!! Um conselho, na próxima nem leia este tipo de artigo !!! Um grande abraço !!!

[40] Comentário enviado por rjdiniz em 14/07/2015 - 07:22h


[39] Comentário enviado por gersonraymond em 06/07/2015 - 18:35h


Olá amigo !!! Mil desculpas por você perder o seu tempo !!! Um conselho, na próxima nem leia este tipo de artigo !!! Um grande abraço !!!


Não gosta de criticas... lamento você esta fadado ao esquecimento! em 21 anos de profissão com profissional de Informática, foram as criticas que me fizeram um profissional melhor...

[41] Comentário enviado por fabio em 14/07/2015 - 12:00h

Parabéns pela iniciativa Gerson!

Um abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts