Mesmo que você tenha uma conexão ADSL em casa, existem muitas situações em que você pode ser obrigado a navegar usando uma conexão muito mais lenta, como ao acessar através de uma rede congestionada, ou em lugares afastados (onde sua conexão 3G chaveie para o GPRS/EDGE com a taxa de transferência já próxima do mínimo), ou ainda em situações em que você precise se conectar via modem discado, através de uma linha ruidosa.
A solução mais popular para melhorar a velocidade da conexão quando o link não ajuda, é desativar a exibição das imagens (“Editar > Preferências > Conteúdo > Carregar Imagens Automaticamente” no Firefox), o que vai reduzir significativamente o volume de dados a carregar. Entretanto, navegar com as imagens desativadas não é exatamente uma experiência agradável e você vai perceber que muitas páginas demoram muito a carregar, mesmo sem as imagens.
Mesmo navegadores em modo texto, como o links, não apresentam uma grande diferença na velocidade de navegação, já que, embora não exibam imagens, eles precisam baixar o html e processar os demais elementos da página da mesma forma, o que nos leva ao Opera.
O Opera é um navegador leve, independente do KDE e GNOME, o que o torna a opção preferida de muita gente que usa micros antigos. Ele consegue ser um pouco mais rápido que o Firefox no geral (ainda por cima consumindo menos memória RAM) e oferece um bom suporte a páginas problemáticas, desenvolvidas especificamente para o IE, ou com código mal-escrito.
Inicialmente, o Opera era um aplicativo comercial; depois passou a ser oferecida uma versão gratuita, que exibia um banner de propaganda; e, finalmente, passou a ser inteiramente gratuito, embora sem ter o código aberto.
A partir da versão 10, o Opera incluiu o “Turbo”, que permite navegar utilizando o proxy da Opera, o mesmo recurso que já era utilizado pelo Opera Mini, para celulares. O proxy se encarrega de limpar e comprimir o html das páginas, além de degradar a qualidade das imagens, o que reduz em de 3 a 8 vezes o volume de dados transferidos, resolvendo o problema da banda estreita.
Ele resolve também outro problema que é o fato de muitas páginas carregarem elementos de diversos servidores diferentes (scripts, anúncios, widgets, etc.), que obrigam o navegador a abrir diversas conexões, o que em uma conexão lenta pesa bastante. Com o Opera, o proxy é que se vira para fazer todas as requisições, entregando o html já mastigado para o navegador.
Enquanto escrevo, ele ainda está disponível através do Opera Labs, no: https://labs.opera.com/downloads/
… mas em breve ele deve estar disponível através da página principal de downloads:
https://www.opera.com/browser/
No caso da versão Linux, basta descompactar o arquivo e executar o instalador como root (depois de instalado, chame-o usando o comando “opera”). O mais compatível é o arquivo “gcc4-bundled-qt4”, que inclui todas as bibliotecas necessárias dentro do pacote, o que permite que ele funcione sem problemas em qualquer distribuição. É aconselhável levar os pacotes de instalação com você, em um pendrive ou CD, já que é difícil baixar 12 MB usando uma conexão de 2 KB/s.
Dentro do navegador, você pode ativar e desativar o uso do proxy clicando no ícone do canto inferior esquerdo. Ele também permite desativar o carregamento das imagens, o que pode ser feito se a coisa estiver mesmo feia:
Graças ao uso do proxy, o Opera Turbo é atualmente o melhor navegador para conexões lentas. Vale lembrar que essa solução foi desenvolvida justamente para uso em celulares, que antes do aparecimento do EDGE e do 3G, navegavam usando conexões GPRS, que são incrivelmente lentas.
Continuando, outro fator que pode atrasar bastante a conexão são as resoluções de nomes. Em conexões via GPRS, não é incomum que a latência da conexão chegue a 2 ou 3 segundos, já que em áreas afastadas o sinal precisa passar por várias torres de retransmissão até finalmente chegar aos roteadores. Isso significa que cada resolução de DNS demoraria no mínimo de 4 a 6 segundos!
A melhor saída para amenizar o problema é usar um cache de DNS local, reduzindo assim o número de requisições. No Linux você pode usar o dnsmasq.
Ele está disponível em quase todas as distribuições e pode ser instalado usando o gerenciador de pacotes, como em:
# urpmi dnsmasq
ou:
# apt-get install dnsmasq
Com o pacote instalado, abra o arquivo “/etc/dnsmasq.conf” e adicione as seguintes linhas logo no início da configuração:
listen-address=127.0.0.1 no-resolv server=208.67.220.220 server=208.67.222.222
Elas fazem com que ele escute apenas conexões locais (precaução de segurança) e use os servidores DNS especificados nas duas últimas linhas. Os dois endereços do exemplo são os endereços do OpenDNS, mas você pode substituí-los pelos endereços do provedor, caso note que eles estão mais rápidos.
Depois de salvar o arquivo, reinicie o serviço para que a configuração entre em vigor:
# /etc/init.d/dnsmasq restart
A partir daí, você pode configurar o sistema para usar o “127.0.0.1” como DNS primário, deixando que o dnsmasq cacheie as requisições. No Linux, você pode simplesmente editar o arquivo “/etc/resolv.conf“, adicionando a linha “nameserver 127.0.0.1” antes das demais, como em:
nameserver 127.0.0.1 nameserver 208.67.220.220 nameserver 208.67.222.222
Se o seu micro usa DHCP para obter a configuração da rede, o arquivo “/etc/resolv.conf” será modificado a cada acesso, voltando à configuração original, fornecida pelo servidor. Ao invés de ter que modificar o arquivo novamente a cada acesso, adicione a linha abaixo no começo (começo, não final) do arquivo “/etc/dhcp3/dhclient.conf“, onde vai a configuração do cliente DHCP:
prepend domain-name-servers 127.0.0.1;
Esta linha faz com que ele sempre adicione a linha “nameserver 127.0.0.1” no início do arquivo “/etc/resolv.conf”, substituindo a edição manual.
Outra opção para acelerar a resolução de nomes é adicionar entradas para os sites que você acessa com frequência diretamente no arquivo “/etc/hosts”. Fazendo isso, o sistema deixará de perder tempo resolvendo os endereços e acessará diretamente os endereços especificados.
Para descobrir os endereços IP, use o comando “dig” (que faz parte do pacote “dnsutils”), como em:
$ dig gdhpress.com.br
O endereço aparece na seção “ANSWER SECTION”, como em:
;; ANSWER SECTION: gdhpress.com.br. 81373 IN A 72.36.173.154
Ao adicionar as entradas no “/etc/hosts”, basta adicionar o endereço seguido pelo domínio (uma linha para cada site), como em:
127.0.0.1 gdh localhost 72.36.173.154 gdhpress.com.br 74.125.67.100 google.com
Outro problema comum em conexões GPRS/EDGE/3G em áreas distantes, é a perda de pacotes, sobretudo o sumiço de pacotes SYN, ACK e FIN, que são os responsáveis por iniciar e encerrar as conexões. As perdas fazem com que os aplicativos fiquem um longo tempo esperando por uma resposta do servidor remoto, em vez de encerrarem a conexão. Isso causa diversas dores de cabeça, como os eternos “Aguardando resposta…” do Firefox.
No Linux, você pode amenizar o problema ajustando os tempos de timeout e o número de tentativas antes de encerrar as conexões. Isso faz com que o sistema passe a encerrar as conexões depois de algum tempo, em vez de deixar os aplicativos esperando por meia hora ou mais, como é o default. Para isso, use os comandos a seguir, como root:
cd /proc/sys/net/ipv4/ echo 2 > tcp_syn_retries echo 2 > tcp_synack_retries echo 3 > tcp_retries1 echo 5 > tcp_retries1 echo 30 > tcp_fin_timeout echo 3 > tcp_keepalive_probes echo 30 > tcp_keepalive_intvl
Essas configurações não são permanentes, por isso caso as alterações não surtam o efeito desejado, basta reiniciar o micro para que as configurações default sejam restabelecidas.