Hoy vamos a ver los pasos necesarios (muy sencillos) para instalar y utilizar Apache JMeter sin GUI (entorno gráfico) en sistemas Red Hat, CentOS, etc.
JMeter es un proyecto de Apache Jakarta que puede ser utilizado como una herramienta de prueba de carga para analizar y medir el desempeño de una variedad de servicios, con énfasis en aplicaciones web.
Wikipedia
Lo primero es conocer las dependencias de JMeter, en este caso tenemos que instalar JDK, ya que funciona a través de java. Lo hacemos instalando la versión disponible desde yum o si queremos alguna concreta bajandola desde el sitio web de java:
# yum install java-1.6.0-openjdk.x86_64
Una vez instalado java, verificamos la versión y que es compatible (libre de bugs) con la versión de JMeter que vamos a utilizar:
# java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
Pasamos entonces a bajar JMeter, en lugar de compilarlo, podemos bajar directamente los binarios precompilados, de modo que únicamente tengamos que descomprimirlo y tunear un poco algún parámetro para poder empezar a utilizarlo:
# wget http://apache.rediris.es//jmeter/binaries/apache-jmeter-2.6.tgz # wget http://apache.rediris.es//jmeter/binaries/apache-jmeter-2.6.tgz.asc # wget http://www.apache.org/dist/jmeter/KEYS
Importamos las keys de Apache para verificar la integridad del archivo descargado:
# gpg --import KEYS # gpg --verify apache-jmeter-2.6.tgz.asc
Y ya podemos descomprimir y utilizar JMeter:
# tar -xzvf apache-jmeter-2.6.tgz # mv apache-jmeter-2.6 /usr/local/jmeter # cd /usr/local/jmeter/
Para un uso básico, simplemente especificamos que no vamos a utilizar GUI (-n), el plan a ejecutar (-t) y el log donde almacenar los resultados (-l):
# /bin/jmeter -n -t plans/miplandepruebas.jmx -l plans/registro_pruebas.log
Un problema común es tener problemas de memoria al ejecutar el plan, ya que los recursos asignados son insuficientes. Para modificarlo, editamos el fichero jmeter y aumentamos los límites de memoria en la variable HEAP, siempre en relación a los recursos de los que dispongamos:
# vi bin/jmeter # This is the base heap size -- you may increase or decrease it to fit your # system's memory availablity: #HEAP="-Xms512m -Xmx512m" HEAP="-Xms4096m -Xmx4096m"
Otro problema común es el de los límites de ficheros abiertos (open files) especificados en ulimit, sobre todo para pruebas de estrés importantes, deberemos adecuarlo según necesidades igualmente para la sesión en la que ejecutamos las pruebas:
# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 95066 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 1024 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Como siempre la información de primera calidad. Muchas gracias por compartir tus conocimientos.
Saludos.
Hola,estoy teniendo algunos problemas
Yo tengo un script de pruebas grabado, es un script que registra un usuario en una pagina y le crea un crédito.
Ahora, para un usuario me lo hace perfecto, el tema es que tengo 5 usuarios, yo cargo los usuario y contraseñas de un fichero csv (eso me lo hace bien), y corro el script para los 5 usuarios, aparentemente todo sale bien porque no me da error en el Reporte que muestra en el Árbol.
Pero cuando reviso en el sistema nunca me inserta los 5 usuarios, sino 2 o 3 o 1 y cuando lo vuelvo a correr me vuelve a insertar igual 2 o 3, y a veces ni siquiera son los mismos usuarios, entonces no sé a qué pueda deberse ese comportamiento.
En algunos foros dice que puede deberse a que esté consumiendo muchos recursos de mi máquina y no esté ejecutando todas las peticiones pero no es eso, ya revisé y no consume casi nada, estoy haciéndolo solo para 5 usuarios.
Estoy usando la versión 2.12 de JMeter…
Gracias…
Karina,
desde mi humilde opinión el post va de cómo instalar y ejecutar jmeter, no de cómo arreglar un script propio (osea, tuyo).
Además, desconocemos el código del mismo.
Saludos.