Seu site já enfrentou o problema de sair do ar por ter atingido o limite de banda mensal do serviço contratado? Pois então, o meu no mês de janeiro/2009 ultrapassou o limite de 5GB que o meu plano possui, com seus mais de 7000 visitantes únicos. Analisando o tráfego HTTP do meu site percebi que esse limite foi alcançado simplesmente pelas páginas html, js, css e não por arquivos grande de MP3 ou vídeos que muitos sites disponibilizam.
Pra resolver esse problema, pesquisei formas de otimizar o tráfego HTTP. Algumas dicas podem ajudar a diminuir o consumo de banda e manter a taxa de visitas. O post Melhorando o tempo de carregamento de um site
explica em detalhes algumas ações que podem ser tomadas para otimizar a banda como compactar arquivos externos com GZip, adicionar data de expiração no cabeçalho e outras que ajudam a diminuir o tamanho dos dados transferidos do servidor para o cliente.
Aqui no BrunoCunha.com implementei basicamente a funcionalidade de compressão das páginas com GZip e cache de arquivos Javascript, estilos CSS e imagens. Espero que isso dê um jeito. :)
Outra dica é o site http://checkgzipcompression.com/ que testa se um site está com a funcionalidade de compressão habilitada e o YUI Compressor que compacta arquivos JS e CSS removendo os espaços e quebra de linhas. Muito legal esses sites.
É isso, espero que ajude a quem precisar, como parece ter me ajudado. Vou esperar esse mês de fev/2009 passar pra ver se resolve.
[Atualização | 27/02/2009 | Bruno Cunha]
E pelo visto, funcionou muito bem. O mês de fevereiro está chegando ao fim, meu site ultrapassou os 8000 visitantes únicos e a banda total consumida até agora é de 49%. Isso mesmo. Implementando essas dicas, consegui manter a quantidade de acesso ao site e economizar 50% de banda!
Abaixo a configuração do arquivo .htaccess que utilizei no meu site:
1: GET POST>
2: order deny,allow
3: deny from all
4: allow from all
5: </Limit>
6: PUT DELETE>
7: order deny,allow
8: deny from all
9: </Limit>
10: FileETag None
11: <IfModule mod_deflate.c>
12: AddOutputFilterByType DEFLATE application/x-javascript
text/css text/js text/javascript text/html text/plain
text/xml text/php
13: <IfModule mod_setenvif.c>
14: # Netscape 4.x has some problems...
15: BrowserMatch ^Mozilla/4 gzip-only-text/html
16: # Netscape 4.06-4.08 have some more problems
17: BrowserMatch ^Mozilla/4\.0[678] no-gzip
18: # MSIE masquerades as Netscape, but it is fine
19: # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
20: # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
21: # the above regex won't work. You can use the following
22: # workaround to get the desired effect:
23: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
24: # Don't compress images
25: SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
26: </IfModule>
27: <IfModule mod_headers.c>
28: # Make sure proxies don't deliver the wrong content
29: Header append Vary User-Agent env=!dont-vary
30: </IfModule>
31: </IfModule>
32:
33: # Turn on Expires and set default to 0
34: ExpiresActive On
35: ExpiresDefault A0
36: # Set up caching on media files for 1 year (forever?)
37: <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|mp4|wmv|wav)$">
38: ExpiresDefault A29030400
39: Header append Cache-Control "public"
40: </FilesMatch>
41: # Set up caching on media files for 1 week
42: <FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
43: ExpiresDefault A604800
44: Header append Cache-Control "public"
45: </FilesMatch>
46: # Set up 4 Hour caching on commonly updated files
47: <FilesMatch "\.(xml|txt|html|js|css)$">
48: ExpiresDefault A14400
49: Header append Cache-Control "proxy-revalidate"
50: </FilesMatch>
51: # Force no caching for dynamic files
52: <FilesMatch "\.(php|cgi|pl|htm)$">
53: ExpiresActive Off
54: Header set Cache-Control "private, no-cache, no-store,
proxy-revalidate, no-transform"
55: Header set Pragma "no-cache"
56: </FilesMatch>
Bruno como vai ?
Gostaria de conversar com vc sobre suporte em meu site.
Fico no aguarde.
Pingback: Limite de Banda Excedido: De novo! | BrunoCunha.com