Apache Traffic Server Uma alternativa ao Squid
Heitor de Souza Ganzeli Analista de Projetos Projetos CEPTRO.BR - Nic.br
Problema
Como aumentar de forma eficiente a velocidade de conexão dos usuários?
Problema O que afeta a velocidade de conexão? ● Esta Estabe bele leci cime ment nto o da da ses sessã são o TCP TCP ● Controle de fluxo ● Consultas DNS ● ...
Proxies Ajudam a minimizar esses problemas para grandes massas de usuários
Features
Arquiteturas - Squid Eventos de Rede
Eventos de Acesso a Disco
Outros eventos
Fila de eventos
Gerenciador de Eventos
Gerenciador de
Máquina de
Gerenciador
Problema dessa arquitetura multi thread Thread 1
single thread Thread 2
Thread 1
Thread 2
Thread 3 Thread 1
Thread 3 Thread 3 Thread 1 Thread 3
Tempo
Tempo
Arquitetura - Traffic Server Pool de Threads Gerenciador de rede Gerenciador de cache
Gerenciador de cluster
e
e e
Sistema de Gerência de Eventos
Modelo de threads n threads
o o n n o r o c r c n i n i s s A A s s o o t t n n e e v v e e e e d d . P P
por core
...
o n o r c n i s A s o t n e v e e d . P
m
threads por disco
S / S / E E e e d d e l e l o o r t r t n n o o c c e e d d . . T T
...
S / E e d e l o r t n o c e d . T
~ 10 Threads
) a t r o p r o p (
g o L a e t u d . c s T e e d . T
e l o r t n o c e d . t s a r t u O
Recursos Compartilhados Cache em RAM
Cache em Disco
Configurações Recarregáveis
estados, log, etc
Arquitetura - Traffic Server Pool de Threads Gerenciador de rede e
Gerenciador de cache
Gerenciador de cluster e e
Sistema de Gerência de Eventos
s n i g u l P m o c e c a f r e t n I
e
Testes ● Hardware ○ Servidores ○ Proxy ○ Clientes
● Ferramentas ○ web polygraph ○ webbench
webbench Permite a simulação de: ○ Múltiplos clientes
Simples Boa performance durante simulações
Hardware utilizado para os testes Duas máquinas com:
○ Intel Xeon E5620 - 2.4GHz ○ 16GB ram ○ Ubuntu 10.04
Principais resultados
Web Polygraph
Permite a simulação de: ○ Servidores Web ○ Clientes ○ Conteúdo Web realista
Hardware utilizado para os testes Duas máquinas com: ○ Intel Xeon E5620 - 2.4GHz ○ 16GB ram ○ Ubuntu 10.04
Uma com: ○ Intel Xeon E5530 - 2.4GHz ○ 8GB ram ○ Ubuntu 12.04
Principais resultados
Principais resultados - ATS
Gráfico de carga
Principais resultados - ATS
Porcentagem de cache hits
Principais resultados - Squid
Gráfico de carga
Principais resultados - Squid
Porcentagem de cache hits
Cache de vídeos
Plugin - cacheurl Permite a troca da URL chave utilizada para salvar determinado objeto http://site.video.com.br/video.m4?id=usuário1 http://site.video.com.br/video.m4?id=usuário2
http://site.video.com.br/video.m4
Plugin - cacheurl Ou seja: ○ multiplas URL's podem ser direcionadas à um mesmo conteúdo ○ permite cache de conteúdo dinâmico de grandes portais
Como funciona: ○ Regex
Configurações necessárias cacheurl.conf http:\/\/(.*\.youtube\.com|.*\.googlevideo\. com|.*\.video\.google\.com)\/ (get_video|videoplayback|videodownload)\?.*? \&(itag=[0-9]*).*?\&(id=[a-zA-Z0-9]*).* http://video-html5-srv.youtube.com. ATSINTERNAL/$3&$4
Configurações necessárias cache.conf url_regex=http:\/\/(.*\.youtube\.com|.*\. googlevideo\.com|.*\.video\.google\.com)\/ (get_video|videoplayback|videodownload)\?.*? \&(itag=[0-9]*).*?\&(id=[a-zA-Z0-9]*).* ttl-in-cache=5d
Configurações necessárias storage.conf var/trafficserver 3G
Recapitulando Melhora da experiência de uso da Web Redução de Banda utilizada Traffic Server apresenta Arquitetura moderna e escalável Possibilita cache de conteúdo dinâmico
Obrigado! Perguntas?
[email protected]