-->

quinta-feira, 5 de março de 2009

Contornando o consumo de CPU do Gmail com o Gmail Notifier.

Para quem não conhece, o Gmail Notifier (GN, daqui em diante), criado pela própria Google, tem um propósito bem simples: informar você quando novas mensagens chegarem à sua caixa postal do Gmail (não, eu não uso Gmail por POP3 ainda, por causa disto aqui).

A princípio isso não parece grande coisa, principalmente para quem recebe vários e-mails por dia. Porque para ler os e-mails ainda é preciso abrir o browser e se você tem um browser aberto, não basta olhar de vez em quando na janela/aba do Gmail?

Eu diria que sim, se não fosse o fato dos scripts do Gmail serem terrívelmente mal comportados (nada parece ter mudado em um ano). Eu precisava de uma alternativa que não ficasse emperrando meu PC periodicamente e o GN parecia ideal. Mas eu já havia tentado usar o programa duas vezes, sem sucesso.

Pura bobeira minha.

O que ocorre é que ao verificar as mensagens na sua conta o GN começa a enumerar lentamente as que você não leu ainda. Como eu tenho neste instante 2552 mensagens não lidas, lá ia o programa mostrando lentamente:

1 of 2552
2 of 2552
3 of 2552
...

Depois de algum tempo esperando eu estava certo de que ele ia enumerar pacientemente os cabeçalhos de todas as 2552 mensagens, por isso fechava o programa.

Mas enquanto fazia um teste motivado pelo comentário de um leitor em outro post, decidi esperar para ver até onde ia, para pelo menos poder dizer "desisti quando chegou em tanto". Para minha surpresa, depois de 45 segundos (que parecem uma eternidade quando você está olhando), ele parou após exibir "30 of 2552".

Pois é. Sempre pára após exibir o trigésimo cabeçalho. E só faz isso quando é iniciado, porque nas vezes seguintes ele só mostra mesmo as mensagens que chegaram depois da última checagem.

Isso satisfazia parte dos meus requerimentos. Só faltava verificar o consumo de CPU.

Fechei a aba do Gmail no Firefox (deixei as outras 210 abas abertas), deixei o GN rodando e não mexi no computador por cinco minutos. O resultado foi este:



É assim que eu gosto de ver meu PC quando eu não estou tocando nele :)

Comparando com o comportamento quando existe uma aba do Gmail aberta:



Como bônus, o GN dá um aviso sonoro sempre que chegam mensagens e se você se ausentar onde não pode ouvir (para tomar banho, por exemplo), quando voltar basta clicar em "Tell Me Again" para ele repetir os últimos 30 cabeçalhos.

Nota: O GN tem um comportamento um tanto curioso. Eu estava observando por outro motivo o fluxo de dados na minha placa de rede com um Packet Sniffer e notei que um outro computador na minha casa (o de minha irmã) estava se conectando ao meu pela porta 80. Depois de uma checagem, constatei que é o GN que abre essa porta. Agora, por que ele abre justamente a porta 80 (http) e o que o outro computador da minha rede estava fazendo conectado a ela, vou investigar outro dia.

7 comentários:

  1. Vc usa o FoxProxy?
    Eu tive um caso de lentidão no gmail por causa dele...

    ResponderExcluir
  2. Uso o GN aqui também e ele não abre nenhum listener em porta alguma. :)

    ResponderExcluir
  3. O que o outro computador estava fazendo conectado na porta 80 aberta pelo GN é interessante também. Quando investigar, faça um post. :-)

    ResponderExcluir
  4. Falando em porta 80, eu tive um dor de cabeça de lascar com o apache na minha maquina. Tentava coloca-lo para rodar a porta 80 e dizia que não dava e já tinha alguem usando a porta 80. Depois de bater um pouco de testa, olhar e olhar no firewall e não achar nada, lembrei do portmon. Adivinha quem estava pendurado na porta 80? O Skype... Aquela droga vem marcado pra usar a porta 80 e 443 como alternativas.

    ResponderExcluir
  5. Lipo,

    Meu problema nunca foi de lentidão no Gmail.

    Luciano,

    Portmon? Não seria o TCPview?

    ResponderExcluir
  6. Anônimo8/3/09 02:21

    Um programinha muito bom pra monitorar as portas é o CurrPorts.
    http://superdownloads.uol.com.br/download/79/currports/

    ResponderExcluir
  7. Anônimo9/3/09 12:57

    Jogos como o CS:S, usam a porta 80?

    O CS:S está abrindo esta porta, mas não sei para que...

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.