Herramienta de stress para bind/named

A veces surge la necesidad de verificar si nuestros servicios están correctamente optimizados. En nuestro caso vamos a comprobar qué tal se comporta un servidor bind/named ( servicio dns )

Usaremos la herramienta queryperf ( dns stress tool )

cd /usr/src
apt-get install libbind-dev build-essential libssl-dev

wget ftp://ftp.nominum.com/pub/nominum/dnsperf/1.0.1.0/dnsperf-src-1.0.1.0-1.tar.gz
tar zxvf dnsperf-src-1.0.1.0-1.tar.gz
cd dnsperf-src-1.0.1.0-1
./configure
make
make install

y para probarlo ( el fichero de examples está contenido en paquete tar ) :

dnsperf -s dns.hostingaldescubierto.com < examples/queryfile-example-100thousand

DNS Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Processing input data
[Status] Sending queries (to 192.168.100.1)
[Status] Testing complete

Statistics:

Parse input file:     once
Ended due to:         reaching end of file

Queries sent:         100000 queries
Queries completed:    100000 queries
Queries lost:         0 queries

Avg request size:     41 bytes
Avg response size:    110 bytes

Percentage completed: 100.00%
Percentage lost:        0.00%

Started at:           Fri Jul 18 14:56:52 2008
Finished at:          Fri Jul 18 14:57:01 2008
Ran for:              9.552197 seconds

Queries per second:   10468.795817 qps

También podeis consultar un interesante artículo acerca del rendimiento de Bind 9 en distintos servidores en este enlace

Virtuozzo API function call ‘VzkrnlStartVps’ failed dwErr=0x000004FB

Una mala actualización del servidor vps de windows provocar un error como este :

vzctl start 101
Starting container ...
Virtuozzo API function call 'VzkrnlStartVps' failed dwErr=0x000004FB
Container 101 is not started
Exec '@VzOnShutdown' failed in container 101

Para solucionarlo, podemos proceder de la siguiente manera:

vzctl mount 101
copy c:WINDOWSsystem32driverstcpip.sys c:vzroot101cWINDOWSsystem32drivers
vzctl start 101

Hay que recordar que nunca, nunca se debe actualizar un vps windows usando la página de actualizaciones de Microsoft ( windowsupdate.com) . Siempre hay que usar el servicio de actualizaciones automáticas que se provee con el sistema.

Más información en : http://kb.parallels.com/en/2095

debian 2.6.25-2 y el error de xen instalando nvidia driver

Al actualizar el driver de nvidia puedes encontrarte con un error, que indica que no se instalará el driver nvidia debido a tu que kernel está preparado para Xen, aunque no sea así. Al parecer se ha colado alguna configuración de Xen en el kernel.

Aquí está el hilo y la forma de solucionarlo

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=481485
[shell]
cd /lib/modules/`uname -r`;
grep CONFIG_XEN . -Rl | xargs sed -i -e ‘s/CONFIG_XEN/CONFIG_LUPO/g’ {} ;
export CC=gcc-4.1
export IGNORE_XEN_PRESENCE=1
sh NVIDIA-Linux-x86-173.08-pkg1.run[/shell]

rpmdb: Program version 4.3 doesn’t match environment version

Este problema puede ocasionarse en servidores con Centos 4.3 o 4.6 al actualizar paquetes :

# yum clean
rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 80, in main
    base.getOptionsConfig(args)
  File "/usr/share/yum-cli/cli.py", line 170, in getOptionsConfig
    self.doConfigSetup(fn=opts.conffile, root=root)
  File "__init__.py", line 82, in doConfigSetup
  File "config.py", line 273, in __init__
  File "config.py", line 385, in _getsysver
TypeError: rpmdb open failed

Para solucionarno hay que recrear la base de datos de paquetes :

# rm -f /var/lib/rpm/__db.*
# rpm --rebuilddb

Internal Server Error

Este error : ‘Internal Server Error’ ( bastante ‘intuitivo’ ) puede aparecer en servidores windows. Si revisamos el log de Internet Information Server podemos encontrarnos con un mensaje como este :

Operation_must_use_an_updateable_query.

En el caso en que estemos usando una base de datos mdb, es debido a que está en solo lectura. Cambiando los permisos podemos solucionarlo

usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz

Compilando mod_security-2.5.5 he encontrado este error

/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -o mod_security2.la  -lpcre -lxml2 -lz -lm -rpath /usr/lib64/httpd/modules -module -avoid-version    msc_lua.lo acmp.lo msc_geo.lo pdf_protect.lo msc_reqbody.lo persist_dbm.lo msc_pcre.lo msc_util.lo msc_parsers.lo modsecurity.lo msc_multipart.lo msc_xml.lo msc_logging.lo re_variables.lo re_tfns.lo re_actions.lo re_operators.lo re.lo apache2_util.lo apache2_io.lo apache2_config.lo mod_security2.lo
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
apxs:Error: Command failed with rc=65536
.
make: *** [mod_security2.la] Error 1

Al parecer hay algún problema con las versiones de 32 y 64 bits instaladas en la máquina. La solución desinstalar y volver a instalar zlib-devel

yum erase zlib-devel
yum install zlib-devel

instalando hydrogen 0.9.4

Para el que no conozca hydrogen es un sitentizador de patrones orientado a baterias ( como por ejemplo fruity loops ) . Este software es bastante sencillo y libre.

La version 0.9.4 aunque bastante estable, aun está en la rama de desarrollo. Para poder usarla podemos copiar y pegar estas instrucciones :

[shell]
apt-get –yes install liblash-dev libsndfile1-dev liblrdf0-dev libflac++-dev libflac++-dev
apt-get –yes install libqt4-dev qt4-dev-tools
svn co http://hydrogen-music.org/svn/trunk hydrogen
cd hydrogen
./configure
make
make install
[/shell]