[FUG-BR] teste do mod_evasive rodando lento na VM

vic vic em wa.pro.br
Terça Setembro 10 10:16:41 BRT 2013


Em 2013-09-10 9:23, Marcelo Gondim escreveu:
> Pessoal,
> 
> Sei que muitos aqui conhecem o mod_evasive pro apache que no FreeBSD é 
> o
> pacote ap22-mod_evasive.
> Ele vem com um script de teste que sempre utilizei pra checar se o
> mod_evasive tá legal:
> 
> test.pl:
> 
> #!/usr/bin/perl
> # test.pl: small script to test mod_dosevasive's effectiveness
> use IO::Socket;
> use strict;
> for(0..100) {
>    my($response);
>    my($SOCKET) = new IO::Socket::INET( Proto   => "tcp",
>                                        PeerAddr=> "127.0.0.1:80");
>    if (! defined $SOCKET) { die $!; }
>    print $SOCKET "GET /?$_ HTTP/1.0\n\n";
>    $response = <$SOCKET>;
>    print $response;
>    close($SOCKET);
> }
> 
> Só que quando rodo numa VM com FreeBSD ele abre as conexões lentamente,
> fazendo com que o teste não funcione. Fiz o mesmo teste em um FreeBSD
> sem ser VM e rodou mais rápido e consegui fazer os testes. Fui comparar
> com uma outra máquina com Linux e rodou estupidamente mais rápido.
> Logicamente que diferenças de processamento podem ser uma das causas 
> mas
> porque rodou tão lento numa VM é que não descobri ainda.
>   Alguém tem alguma ideia?
> 
> Grande abraço

Suponho que sua aquela sua VM em Xen. Por acaso você tem um firewall PF 
na VM? Se sim tente:

ifconfig xn0 -tso
sysctl -w net.inet.tcp.tso=0

Referências:

http://www.freebsd.org/cgi/query-pr.cgi?pr=154428
http://www.freebsd.org/cgi/query-pr.cgi?pr=135178

Além disso, se você não compilou o kernel XENHVM, faça um teste com ele 
e mude a configuração do xen na vif para usar o type=netfront

-- 
vic
choppnerd.com
donttrack.us | dontbubble.us


Mais detalhes sobre a lista de discussão freebsd