Debian e sua CDN 2
Jul 17, 2013 · 2 minute read · CommentsdebianSLweb performance
Lembra do post anterior sobre a(s) CDN(s) do Debian? Se não lembra ou não leu, vale ler antes desse aqui. ;)
O anterior comentava um pouco do funcionamento da implantação do CDN baseada em DNS. Dessa vez é comentar um pouco sobre outra “forma” de CDN, esta é baseada em redirecionamento HTTP. A método para usuário é simples, é apenas um redirecionamento (Código HTTP 302) para o local onde o serviço identifica que o usuário terá melhor desempenho para baixar os pacotes Debian.
Um teste simples realizado no Brasil.
fike@klatoon:~$ curl -I https://http.debian.net/debian/
HTTP/1.1 302 Moved Temporarily
Date: Thu, 18 Jul 2013 01:25:40 GMT
Server: Apache/2.2.16 (Debian)
Vary: x-web-demo,Accept-Encoding
X-IP: 179.186.50.212
X-AS: 18881
X-URL:
X-Arch:
X-Country: BR
X-Continent: SA
X-Std-Dev: 12.0185273640326
X-Population: 4
X-Closest-Distance: 0
X-Distance: 0
X-Match-Type: country
Link: ; rel=duplicate; pri=1; depth=0, ; rel=duplicate; pri=1; depth=0
Location: https://debian.c3sl.ufpr.br/debian/
Content-Type: text/plain
Na resposta do servidor a requisição realizado pelo curl tem vários cabeçalhos que ajudam entender o funcionamento. O servidor do http.debian.net identifica o IP de origem da requisição, o país, o Autonomous System (AS), etc. Ao final tem o cabeçalho Location apontando qual será a URL que responderá a requisição.
Abaixo o mesmo teste mas realizado nos EUA.
fike@midstorm:~$ curl -I https://http.debian.net/debian/
HTTP/1.1 302 Moved Temporarily
Date: Thu, 18 Jul 2013 01:26:07 GMT
Server: Apache/2.2.16 (Debian)
Vary: x-web-demo,Accept-Encoding
X-IP: 74.50.55.64
X-AS: 36024
X-URL:
X-Arch:
X-Country: US
X-Continent: NA
X-Std-Dev: 3.5960358730135
X-Population: 15
X-Closest-Distance: 13.434
X-Distance: 13.434
X-Match-Type: country
Location: https://debian.gtisc.gatech.edu/debian/
Content-Type: text/plain
Interessante que no teste dos EUA tem um pouco mais de informações que melhoram a escolha do melhor espelho (mirror) do repositório Debian para para a requisição.
Se quiser conhecer um pouco mais pode entrar na página do projeto no Github. Ele bem simples e o Raphael Geissert ficará feliz com informações de bugs, patches, etc. ;)
Ah! Já estava esquecendo, se quiser testá-lo, basta adicionar uma linha no /etc/apt/sources.list. No meu caso estou usando para o Sid/Unstable.
deb [arch=amd64,i386] https://http.debian.net/debian/ unstable main contrib non-free