[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