Caso você administre um servidor Apache com dezenas ou centenas de Virtual Hosts, possivelmente já terá se deparado com picos de visitação que, normalmente, testam os limites do servidor. Caso possua apenas um site hospedado por servidor, esqueça o resto deste artigo. No entanto, na grande maioria dos ambientes de hospedagem, um servidor dedicado terá inúmeros hosts virtuais configurados, e é praticamente impossível saber, desconhecendo a origem do pico de visitação, qual é o responsável pela sobrecarga.
Para resolver este problema criei o seguinte script Perl que, combinado ao tcpdump, analisa o tráfego de rede atual, extraindo os cabeçalhos “Host:” e contando quantas vezes cada Host surge no tráfego capturado. Um handler do sinal SIGALRM imprime ao STDOUT as estatísticas atuais a cada 5 segundos, em ordem decrescente de demanda.
Assim, é possível ver, em tempo real, qual Virtual Host está gerando a maior demanda no servidor naquele instante.
Copie o seguinte script e salve como tcpd_host_filter.pl
#!/usr/bin/perl
# http://zefonseca.com/blogs/ze/
use strict;
use warnings;
our %hosts = ();
our $match_count = 0;
$SIG{ALRM} = \&dump_stats;
alarm(5);
while (<>) {
if ( m{Host\:\s+(\S+)}gms ) {
$hosts{$1}++;
$match_count++;
}
}
sub dump_stats {
print "\n\nACTIVE HOSTS\n";
foreach my $host ( reverse sort { $hosts{$a} <=> $hosts{$b} } keys %hosts ) {
my $ratio = $hosts{$host} / $match_count;
printf "%-5d %-32s %.2f %% \n", $hosts{$host}, $host, $ratio*100;
}
alarm(5);
}
Torne o script executavel:
chmod 755 tcpd_host_filter.pl
Agora rode o tcpdump com as opções -s 65535, que determina o tamanho máximo de captura, e -w – que escreve todo o conteúdo do pacote capturado à saída padrão.
tcpdump -s 65535 -w - | ./tcpd_host_filter.pl
O script lerá a captura em tempo real, no entanto só imprimirá as estatísticas a cada 5 segundos, para evitar uma inundação de dados na tela.
Exemplo de saída:
ACTIVE HOSTS 120 site1.com 30.61 % 116 site2.com 29.59 % 74 zefonseca.com 18.88 % 29 site3.com 7.40 % 9 site4.com 2.30 % 8 site5.com 2.04 % 7 site6.com 1.79 % 7 site7.com 1.79 % [ ... ]
Há 2 dias, o Google finalmente lançou o código fonte do Chromium OS. Assim com o Chromium é o nome dado ao projeteo OSS do navegador Chrome, o Chromium OS é o código fonte do sistema operacional Chrome OS.
fork.c
/*
* linux/kernel/fork.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
*/
exit.c
/*
* linux/kernel/exit.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
*/
Passeando pelo resto da árvore do kernel do Chromium vemos que é o kernel Linux.
Hoje baixei minha primeira cópia do Slax, um live CD baseado no Slackware que você quase não percebe se tratar de uma distribuição diferente da oficial.
Após instalar o Slackware 13 em minha máquina principal de trabalho, precisei de um live-CD para meu velho notebook Toshiba. O Slax funcionou perfeitamente com todo o hardware e resolveu meu problema. O download também foi absurdamente rapido, me pergunto se tem mirror no Brasil.
Após utilizar o RedHat e posteriormente o Fedora Core, tenho utilizado o Slackware diariamente no trabalho, desde a versão 11. As telas de instalação continuam as mesmas de 10 anos atrás e o “feel” do sistema é o mesmo, você tem que resolver tudo à mão. Foi uma das minhas melhores ferramentas para aprender o Linux lá nos primórdios quando a Internet era cara, lenta e discada.
SÃO PAULO – A Receita Federal descartou desenvolver o aplicativo Receitanet para outras plataformas que não Windows, como distribuições Linux e Mac OS.
Ao apresentar o balanço do período de recolhimento do IR este ano, o supervisor da Receita Joaquim Adir classificou como “pouca gente” o número de usuários que baixou a versão do Receitanet – software usado para preencher a declaração de IR – em Java, que funciona tanto em Macs como PCs com Linux.