[Rio-pm] Aceleração de pesquisa
Marco A P D'Andrade
mdacwb em gmail.com
Segunda Abril 2 23:26:31 PDT 2007
Pessoal,
Eu estou fazendo uma ferramenta para agrupamento de ASNames de logs,
porém para isso eu utilizo o módulo Net::CIDR::Lite para pesquisar
classes de IP já identificadas, em busca do objeto adequado.
A grosso modo eu tenho:
$CIDR->{"AS4370"} = new Net::CIDR::Lite;
# Tem de transformar em mascara x.y.0.0/mask
map {
$CIDR->{"AS4370"}->add( $_ )
} qw( 189.2/15 189.16/15 189.22/15 200.166/16 200.167/16 );
Bem... o numero de queries é muito alto:
foreach my $ASN ( keys %$CIDR ) {
if ( $CIDR->{$ASN}->find( $ip ) ) {
print "FOUND $ASN\n";
last;
}
}
E o numero de objetos cresce muito (Embratel, Telemar, Telesp, etc ->
já tenho +-40 objetos), e o numero de acessos é alto (logs de http do
click21.com.br ~1G dia)...
Aí vem a pergunta...
Alguem já implementou algum algoritmo de CacheHit para me dar ideias ??
Ou conhece algum meio mais eficiente de fazer esta identificacao ?
Para mim o tratamento já parece bem legal, mas pelos testes iniciais
isso deve consumir muitas horas, e não tenho esse tempo de cpu livre
:(
Ideias, palpites e sugestões são bem vindas!!
Sds,
Marco Antonio
Mais detalhes sobre a lista de discussão Rio-pm