Varnish: Uma camada de velocidade
O objetivo deste trabalho é apresentar ao leitor a ferramenta de proxy reverso Varnish, mostrar suas principais características e averiguar seu desempenho através de testes de benchmark. Nesta última fase foram feitos testes comparativos entre o Varnish e o Squid, em que ficou patente do desempenho superior do Varnish em todos os testes executados.
[ Hits: 71.312 ]
Por: Perfil removido em 10/05/2010
Zope-Plone Transactions: 11679 hits Availability: 100.00 % Data transferred: 70.22 MB Response time: 0.46 secs Transaction rate: 65.10 trans/sec Throughput: 0.39 MB/sec Concurrency: 29.91 Successful transactions: 11499 Failed transactions: 0 Longest transaction: 6.56 Shortest transaction: 0.06 Squid Transactions: 66458 hits Availability: 100.00 % Data transferred: 393.89 MB Response time: 0.08 secs Transaction rate: 370.78 trans/sec Throughput: 2.20 MB/sec Concurrency: 29.75 Successful transactions: 65350 Failed transactions: 0 Longest transaction: 3.58 Shortest transaction: 0.00 Varnish Transactions: 300821 hits Availability: 100.00 % Data transferred: 1787.26 MB Response time: 0.02 secs Transaction rate: 1676.35 trans/sec Throughput: 9.96 MB/sec Concurrency: 29.97 Successful transactions: 295664 Failed transactions: 0 Longest transaction: 3.01 Shortest transaction: 0.00O primeiro número ressaltado nos testes é o de transações atendidas por segundo. Enquanto o Squid representou um crescimento de 569% em relação ao sistema sem cache, o Varnish apresentou um crescimento de 2575%, tendo uma performance em número de transações atendidas de 452%. Outro número que chama bastante a atenção é o tempo médio de resposta. Enquanto o Squid apresentou um número 575% menor em relação aos testes sem cache, o Varnish apresentou um número 2300% mais rápido tendo um ganho em relação ao Squid de 400%. Em abril deste ano, Li Cherife [14] publicou em seu Blog um teste de Benchmark envolvendo o Varnish 1.1.2, o Squid 2.6 e o Squid 3.0. Como infraestrutura, o Li conseguiu montar 3 servidores conforme descrição abaixo:
Varnish 100000 fetches, 100 max parallel, 1.024e+09 bytes, in 14.7505 seconds 10240 mean bytes/connection 6779.43 fetches/sec, 6.94213e+07 bytes/sec msecs/connect: 0.400918 mean, 11.452 max, 0.067 min msecs/first-response: 14.0161 mean, 1779.32 max, 0.24 min HTTP response codes: code 200 - 100000 Squid 2.6 100000 fetches, 100 max parallel, 1.024e+09 bytes, in 26.1771 seconds 10240 mean bytes/connection 3820.13 fetches/sec, 3.91181e+07 bytes/sec msecs/connect: 0.497665 mean, 2990.79 max, 0.055 min msecs/first-response: 21.0663 mean, 3018.84 max, 4.071 min HTTP response codes: code 200 - 100000 Squid 3.0 100000 fetches, 100 max parallel, 9.85651e+08 bytes, in 102.375 seconds 9856.51 mean bytes/connection 976.8 fetches/sec, 9.62785e+06 bytes/sec msecs/connect: 2.56114 mean, 91.428 max, 0.061 min msecs/first-response: 27.8048 mean, 94.563 max, 1.288 min 3751 timeouts 3745 bad byte counts HTTP response codes: code 200 - 96255Nesse teste, a quantidade de transações atendidas por segundo do Varnish é superior ao número aferido utilizando o Squid 2.6 em 177%. Devido ao grande número de falhas por timeout encontrados, o tempo médio de requisições atendidas por segundo para o Squid 3.0 ficou muito comprometido. Observando os testes feitos por Li [14] e comparado-se com os testes executados neste trabalho, foi observado que, embora em ambos os testes os resultados do Varnish se mostrem muito superiores aos encontrados com o proxy Squid, os números do teste executado neste trabalham apresentam diferenças muito superiores aos encontrados do Li.
Incron - supervisionando sistemas de arquivos
Instalando o compiz no Arch Linux
Balanceamento de link + redundância
Um tour pelos programas de gravação de CD/DVD no Linux
Solução completa para Web Server usando Apache + SSL + MOD_JK + PHP + MySQL
Ligando, conectando e desligando automaticamente com o Kurumin
Configurando modem MF622 no Linux com velocidade superior a 512K
Apt-mirror: Como criar um mirror para o Ubuntu 9.04
Como instalar e configurar Apache-Tomcat 6 no Debian Lenny com o Apache2
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
Recuperar arquivos de HD em formato RAW usando Linux (0)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta