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.451 ]
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.
Verificando a temperatura do HD no Slackware
Introduzindo um pouco mais a fundo o shell script
Sudoers 1.8.12 - Parte II - Manual
Instalando programas utilizando os fontes no seu Slackware com o checkinstall
Distribuições Linux no Samsung Chromebook ARM (XE303C12)
Ziproxy - Proxy de compactação e redução de imagens
CBQ (Controlador de banda) no Conectiva 10
Linux em Router Wireless (WRT54G Vs OpenWrt)
Controle de banda de domínios virtuais no Debian Etch
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Como mudsr a resolução da tela de login no KDE? (2)
Como ordenar datas corretamente usando o Calc? (3)