Em 10/09/13 17:40, vic escreveu: > Em 2013-09-10 15:26, Marcelo Gondim escreveu: >> Em 10/09/13 10:16, vic escreveu: >>> 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 compilei com o XENHVM fiz as mudanças de disco e interface de >> rede >> e mesmo assim continua lento as conexões localhost do test.pl: >> >> # df -h >> Filesystem Size Used Avail Capacity Mounted on >> /dev/xbd0p2 2G 190M 1.6G 10% / >> devfs 1.0k 1.0k 0B 100% /dev >> /dev/xbd0p4 58G 15G 37G 29% /var >> /dev/xbd0p5 31G 6.0G 22G 21% /usr >> /dev/xbd0p6 2G 16M 1.8G 1% /tmp >> >> xn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu >> 1500 >> options=503<RXCSUM,TXCSUM,TSO4,LRO> >> ether 00:16:3e:02:9d:d6 >> inet xx.xxx.xxx.xx netmask 0xfffffff8 broadcast 67.212.89.79 >> inet6 fe80::216:3eff:fe02:9dd6%xn0 prefixlen 64 scopeid 0x6 >> nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> >> media: Ethernet manual >> status: active >> >> # uname -a >> FreeBSD xxxx.xxx.xxx.xx 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #0 >> r255410M: Tue Sep 10 14:58:33 BRT 2013 >> r...@xxxx.xxx.xxx.xx:/usr/obj/usr/src/sys/XENHVM amd64 >> >> Quem tiver a curiosidade de fazer esse teste nas mesmas condições que >> eu >> aqui, seria interessante. Abaixo os dados: >> >> No servidor Debian 7 amd64 >> ii libxen-4.1 4.1.4-3+deb7u1 amd64 >> Public libs for Xen >> ii libxenstore3.0 4.1.4-3+deb7u1 amd64 >> Xenstore communications library for Xen >> ii xen-hypervisor-4.1-amd64 4.1.4-3+deb7u1 amd64 Xen >> Hypervisor on AMD64 >> ii xen-linux-system-3.2.0-4-amd64 3.2.46-1+deb7u1 amd64 Xen >> system with Linux 3.2 on 64-bit PCs (meta-package) >> ii xen-linux-system-amd64 3.2+46 amd64 Xen system >> with Linux for 64-bit PCs (meta-package) >> ii xen-system-amd64 4.1.4-3+deb7u1 amd64 Xen >> System on AMD64 (meta-package) >> ii xen-tools 4.3.1-1 all Tools to >> manage Xen virtual servers >> ii xen-utils-4.1 4.1.4-3+deb7u1 amd64 XEN >> administrative tools >> ii xen-utils-common 4.1.4-3+deb7u1 all Xen >> administrative tools - common files >> ii xenstore-utils 4.1.4-3+deb7u1 amd64 >> Xenstore utilities for Xen >> >> Arquivo conf da VM: >> >> kernel = '/usr/lib/xen-4.1/boot/hvmloader' >> builder = 'hvm' >> vcpus = 4 >> memory = 2048 >> shadow_memory = 8 >> name = 'freeba' >> vif = [ 'type=netfront, model=e1000, bridge=xenbr0', ] >> #vif = [ 'type=ioemu, bridge=xenbr0, mac=00:00:00:ff:fe:01' ] >> disk = [ >> 'file:/home/xen/domains/freeba/freeba.img,xvda,w', >> 'file:/home/xen/domains/freeba/FreeBSD-9.2-PRERELEASE-amd64-20130831-r255108-disc1.iso,xvdc:cdrom,r' >> ] >> device_model = '/usr/lib/xen-4.1/bin/qemu-dm' >> boot = 'cd' >> sdl=0 >> vnc = '1' >> vncviewer = '1' >> vnclisten = "0.0.0.0" >> vncpasswd = 'songamonga' >> stdvga=0 >> serial='pty' >> usbdevice='tablet' >> on_poweroff = 'destroy' >> on_reboot = 'restart' >> on_crash = 'restart' >> >> Pacote do mod_evasive no FreeBSD: www/mod_evasive - >> ap22-mod_evasive-1.10.1_1 An Apache module to try to protect the >> HTTP Server from DoS/DDoS attacks >> >> []'s >> Gondim > Eu instalei o www/apache22 num 9.1 XENVHM e rodei o test.pl e o ab -kc > 10 -t 30 http://IP_VM/ a partir do meu computador. > > Depois eu instalei e habilitei o mod_evasive e refiz os teste. Ambos > rodaram... claro que o test.pl teve uns 403 e o ab não teve todas as > requisições respondidas.. mas isso era esperado. Todos os testes rodaram > rapidinho. > > Na minha conf do xen não tem setado > > shadow_memory > usbdevice > e o cdrom (afinal já instalei) > com 4Gb de memória > vcpus=2 > > O host é um Scientific Linux 6 com linux 3.8.7-1.el6xen.x86_64 > Oi vic mas você tem outras VMs rodando nesse servidor? Nesse aqui tem mais 2 VMs. Estranho mesmo. Tem como você me passar o seu kernel em anexo em pvt? Pra eu comparar e ver se tem algo habilitado demais aqui. Vou tentar também sem esses parâmetros acima.
[]'s Gondim ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd