SlideShare una empresa de Scribd logo
4
Lo más leído
6
Lo más leído
7
Lo más leído
Prueba de carga ORACLE DB usando JMeter.
Tabla de contenido
Prueba de carga básica a DB Oracle 11g con JMeter.......................................................... 3
Introducción...................................................................................................... 3
Objetivo:.......................................................................................................... 3
Entorno:........................................................................................................... 3
Procedimiento: .................................................................................................. 3
1. Descargar, descomprimir y ejecutar JMeter. ....................................................... 3
2. Agregar driver odbc a JMeter.......................................................................... 4
3. Crear grupo de hilos (Threads). ....................................................................... 4
4. Configurar el grupo de hilos. .......................................................................... 4
5. Configuración de conexión JDBC. ..................................................................... 5
6. Crear petición JDBC..................................................................................... 6
7. Muestra de resultados. ................................................................................. 7
8. Guardar cambios ........................................................................................ 8
9. Ejecutar prueba. ........................................................................................ 8
10. Resultados: ...........................................................................................10
Prueba de carga 2: ..........................................................................................10
Utilidades externas.............................................................................................11
Monitoreo de recursos del servidor. .........................................................................14
Software utilizado ...........................................................................................15
Referencias ...................................................................................................15
Glosario .......................................................................................................15
ANEXOS .............................................................................................................16
Instalar y configurar ServerAgent JMeter. .................................................................16
Configuración Listener (Receptor) PerfMon Metrics Collector ...........................................16
Instalación de JDK en linux. ..................................................................................18
Oracle DB JMeter| Moises Araya
[3]
Prueba de carga básica a DB Oracle 11g con JMeter.
Introducción
JMeter es una aplicación JAVA utilizada para realizar tests de carga, funcional y de rendimiento, es
multiplataforma y se pueden testear ambientes WEB, FTP, SMTP, JDBC, SOAP, entre otros.
Objetivo:
Se realizará una prueba de carga básica sobre una Base de Datos Oracle 11g R2 y posteriormente se realizara
un análisis del comportamiento del servidor y sus resultados, también se mostraran algunos plugins que permiten
la mejora de la lectura de datos.
La prueba consta de una simulación de conexiones concurrentes que realizaran una consulta a la DB.
# Se asume el conocimiento previo de la herramienta JMeter.
Entorno:
 DB Oracle 11 g R2 sobre CentOS 6.4 64 Bits Virtualizado en VMWare
 Características: 30 GB HDD/2GB.
 JMeter ejecutándose en Windows 7.
 Plugins JMeter para la muestra de datos y gráficos avanzados.
Procedimiento:
1. Descargar, descomprimir y ejecutar JMeter.
Vista de la interfaz de JMeter.
Oracle DB JMeter| Moises Araya
[4]
2. Agregar driver odbc a JMeter.
Descargar y copiar jar a carpeta lib de jmeter, luego clic en navegar y agregar el jar copiado.
3. Crear grupo de hilos (Threads).
El grupo de hilos actúa como si fuera un usuario y permite controlar:
 El número de hilos concurrentes que acceden a la base de datos.
 La frecuencia de los accesos.
 El número de solicitudes (tanto por cada hilo como el volumen total).
Clic derecho sobre plan de pruebas – Añadir – Hilos – Grupo de Hilos.
4. Configurar el grupo de hilos.
 Nombre: TestOracle
 Comentario: Prueba contra Oracle DB.
 Acción a tomar después de un error de muestreador: Por defecto que es Continuar.
 Propiedades de hilo:
o Numero de hilos (usuarios): número de sesiones concurrentes.
o Periodo de subida (en segundos): cada cuanto tiempo un usuario ejecuta el escenario.
o Contador de bucle: Numero de repeticiones a realizar.
Oracle DB JMeter| Moises Araya
[5]
El periodo de subida se calcula así:
 Periodo de carga = periodo de subida/número de hilos
Un ejemplo seria así: un usuario ejecuta la consulta cada 0.3 segundos hasta llegar a los 300 usuarios:
 Periodo de subida = periodo de carga (0.3) * número de hilos (300) = 90 segundos
5. Configuración de conexión JDBC.
Para crear una conexión JDBC, clic derecho sobre el grupo de hilos – añadir - elemento de configuración y
configuración de la conexión JBDC.
Configuración:
 Nombre: Describe la conexión JDBC.
 Comentario: Ej la instancia o tabla a manipular.
 Nombre de la variable enlazado al Pool: Identifica la conexión.
 Configuración de la conexión a la base de datos:
o URL de la base de datos: jdbc:oracle:thin:@192.168.196.137:1521:ORCL
o Clase del driver JDBC: oracle.jdbc.OracleDriver
o Usuario: Usuario
o Password: Contraseña
Oracle DB JMeter| Moises Araya
[6]
# El resto de los valores queda por defecto.
6. Crear petición JDBC.
Acá se configuran las sentencias o consultas SQL a ejecutar en la DB.
Para crear una petición JDBC: Clic derecho sobre el grupo de hilos – Añadir – muestreador y petición JDBC.
Oracle DB JMeter| Moises Araya
[7]
Configuración:
 Nombre: Peticion JDBC
 Query SQL: Consulta a ejecutar.
# La prueba a ejecutar será un select de una tabla previamente creada.
7. Muestra de resultados.
Para poder visualizar/capturar e interpretar los datos, se necesitan los receptores o listeners.
Algunos de ellos son:
 Informe Agregado: entrega información acerca de las estadísticas de la prueba de carga, tiempos de
carca, errores de solicitudes, valores máximos, mínimo, cantidad de Kb/s procesados por el segundo,
entre otros.
 Gráfico de Resultados: muestra un gráfico con los tiempos de respuesta medios, desviación, mediana
y el rendimiento de las pruebas.
 Ver Árbol de Resultados: entrega el resultado de cada una de las solicitudes.
 Ver Resultados en Árbol: muestra un árbol con todas las respuestas, indicando muestras, tiempo de
respuestas y bytes transmitidos.
 Visualizador Spline: muestra un gráfico de tiempo de respuesta en spline, indica el máximo, mínimo y
la media.
Para agregar un receptor clic derecho sobre el grupo de hilos – añadir – receptor.
Oracle DB JMeter| Moises Araya
[8]
Listeners agregados:
Cada listener agregado tiene la opción de guardar los datos capturados en un archivo .csv o .jtl para su análisis
posterior.
8. Guardar cambios
Archivo – guardar plan de pruebas como.
9. Ejecutar prueba.
Presionar sobre icono play verde para ver los resultados.
Resultados de listeners agregados:
a) Informe agregado: No muestra errores.
Oracle DB JMeter| Moises Araya
[9]
b) Visualizador Spline:
c) Árbol de resultados:
d) Resultados en árbol:
Oracle DB JMeter| Moises Araya
[10]
10. Resultados:
Los tiempos de respuesta son buenos, se resuelven todas las solicitudes, no existen errores, la carga del servidor
es alta en tres etapas y después va disminuyendo, como resultado se puede decir que este nivel de carga es
muy bajo.
Prueba de carga 2:
Un usuario ejecuta la consulta cada 0. 04 segundos hasta llegar a los 1500 usuarios:
 Periodo de subida = periodo de carga (0.04) * número de hilos (1500) = 60 segundos (duración de la
prueba de carga.
Resultados:
Se visualiza un aumento en los tiempos de respuesta y en el rendimiento, esto es debido a que tiene que cursar
una mayor cantidad de solitudes en un menor tiempo, aun así se resuelven la totalidad de las solicitudes.
Como conclusión, se determina que este nivel de carga puede ser ejecutado correctamente por el servidor.
Oracle DB JMeter| Moises Araya
[11]
Utilidades externas
JMeter presenta dos principales problemas a la hora de mirar los informes generados por los listeners por
defecto: no son fácilmente comprensibles y no son configurables, esto hace un tanto complejo el análisis de
resultados los cuales deben ser entendibles, deben permitir la correlación, deben ser configurables (flexibles)
y rápidos de obtener, todo esto con el fin de minimizar los tiempos de análisis y generación de documentos.
A continuación se presentan algunos plugins disponibles para JMeter que tienen como finalidad la entrega de
otros datos tales como:
 Bytes Throughput Over Time
 Active Threads Over Time
 Transactions per Second
 Transaction Throughput vs Threads
Para obtener estos plugins, se deben descargar de http://jmeter-plugins.org/ y luego descomprimir en la
carpeta /lib/ext de del directorio jmeter.
# El set de plugins utilizados fue el Estandar.
Para agregar uno de estos se debe de proceder de la misma manera que para los otros listeners o receptores:
A continuación se muestra una comparación de los gráficos obtenidos de las dos pruebas realizadas:
 Bytes Throughput Over Time
Prueba 1
Oracle DB JMeter| Moises Araya
[12]
Prueba 2
 Active Threads Over Time
Prueba 1
Prueba 2
Oracle DB JMeter| Moises Araya
[13]
 Transactions per Second
Prueba 1
Prueba 2
 Transaction Throughput vs Threads
Prueba 1
Oracle DB JMeter| Moises Araya
[14]
Prueba 2
Monitoreo de recursos del servidor.
Existe otro plugin que muestra el consumo de los recursos del servidor, para visualizar los datos se deben realizar
una serie de configuraciones que se muestran en el apartado anexos
Consumo de recursos del servidor durante la prueba 1
Oracle DB JMeter| Moises Araya
[15]
Como último y de manera opcional, podemos utilizar los comandos que nos provee Linux para saber el estado
de nuestro servidor:
 free
 top
 vmstat
 lsof
 netstat
 Iotop
 Iostat
 uptime
Software utilizado
 JMeter: http://bit.ly/1jYtoQc
 JMeter Plugins: http://bit.ly/1d5enpL
 OJDBC: http://bit.ly/M6yYE7
 ServerAgent: http://bit.ly/19XPEJ4
Referencias
 Valores por defecto para drivers JDBC http://gerardnico.com/wiki/language/java/jdbc_url
Glosario
CORRELACION: Correspondencia recíproca entre dos o más cosas, personas, ideas, etc.
PRUEBA DE CARGA: Simulación el comportamiento de una aplicación cuando se ve sometido a una alta
concurrencia de usuarios.
SPLINE: termino matemático, es una curva definida en porciones mediante polinomios, utilizada para
aproximar formas complicadas y para graficar formas 2d,3d o más dimensiones.
Oracle DB JMeter| Moises Araya
[16]
ANEXOS
Instalar y configurar ServerAgent JMeter.
Esta opción es útil para el monitoreo de recursos del servidor, tales como; CPU, Memory, Swap, Disks I/O,
Network I/O, TCP, JMX, Exec y Tail.
Descargar desde http://code.google.com/p/jmeter-plugins/downloads/detail?name=ServerAgent-
2.2.1.zip&can=2&q
Descomprimir archivo en alguna carpeta y ejecutar según se muestra.
[oracle@dboracle]$
[oracle@dboracle]$ cd /home/oracle/jmeter/
[oracle@dboracle]$ unzip ServerAgent-2.2.1.zip
[root@dboracle jmeter]# ls
CMDRunner.jar lib LICENSE ServerAgent-2.2.1.zip ServerAgent.jar startAgent.bat startAgent.sh
[root@dboracle jmeter]# ./startAgent.sh –sysinfo
Extracto:
INFO 2014-01-21 15:49:18.419 [kg.apc.p] (): *** Logging available processes ***
INFO 2014-01-21 15:49:18.465 [kg.apc.p] (): Process: pid=1 name=init args=/sbin/init
INFO 2014-01-21 15:49:18.494 [kg.apc.p] (): Process: pid=464 name=udevd args=/sbin/udevd -d
INFO 2014-01-21 15:49:18.670 [kg.apc.p] (): *** Done logging sysinfo ***
INFO 2014-01-21 15:49:18.670 [kg.apc.p] (): Binding UDP to 4444
INFO 2014-01-21 15:49:19.678 [kg.apc.p] (): Binding TCP to 4444
INFO 2014-01-21 15:49:19.723 [kg.apc.p] (): JP@GC Agent v2.2.0 started
Referencia: http://jmeter-plugins.org/wiki/PerfMonAgent/
Configuración Listener (Receptor) PerfMon Metrics Collector
Este listener está disponible de la misma que los otros ya descritos.
Para agregar los monitores, clic sobre Add Row y seleccionar el parámetro a medir.
Oracle DB JMeter| Moises Araya
[17]
Cada parámetro a medir puede ser personalizado:
Ej. Network I/O
Y como el resto de los receptores (Listeners), es posible guardar los datos en un archivo.
También es posible configurar las características del gráfico.
Oracle DB JMeter| Moises Araya
[18]
Instalación de JDK en linux.
 Descargar JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
 Copiar archivo a servidor, en este caso el archivo descargado es un *.bin
 Ejecutar según se muestra:
[root@ dboracle home]# ./jdk-6u45-linux-x64-rpm.bin
Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: jdk-6u45-linux-amd64.rpm
inflating: sun-javadb-common-10.6.2-1.1.i386.rpm
inflating: sun-javadb-core-10.6.2-1.1.i386.rpm
inflating: sun-javadb-client-10.6.2-1.1.i386.rpm
inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm
inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm
inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm
Preparando... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
plugin.jar...
javaws.jar...
deploy.jar...
Installing JavaDB
Preparando... ########################################### [100%]
1:sun-javadb-common ########################################### [ 17%]
2:sun-javadb-core ########################################### [ 33%]
3:sun-javadb-client ########################################### [ 50%]
4:sun-javadb-demo ########################################### [ 67%]
5:sun-javadb-docs ########################################### [ 83%]
6:sun-javadb-javadoc ########################################### [100%]
Verificar version y ruta de binarios.
[root@dboracle home]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
[root@dboracle home]# which java
/usr/bin/java

Más contenido relacionado

PPTX
Spring boot Introduction
PDF
Spring Boot
PPTX
Jsp presentation
PPTX
Sightly - Part 2
PPTX
Spring boot
PPTX
Spring Framework
PDF
Mcvs re-02 requerimientos del usuario
PDF
Spring Boot
Spring boot Introduction
Spring Boot
Jsp presentation
Sightly - Part 2
Spring boot
Spring Framework
Mcvs re-02 requerimientos del usuario
Spring Boot

La actualidad más candente (20)

PDF
좌충우돌 ORM 개발기 | Devon 2012
PDF
Spring framework Introduction
PPT
Presentation Spring
PDF
Api presentation
PPTX
AEM - Client Libraries
PPTX
Introduction to Spring Framework
PDF
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
PPTX
PDF
Tecnologías para microservicios
PPS
Java Hibernate Programming with Architecture Diagram and Example
PPTX
Workshop Spring - Session 1 - L'offre Spring et les bases
PPTX
Spring data jpa
PPTX
Administracion de la seguridad de sql server
PPTX
difference between React and Next js
PDF
Spring annotation
PDF
SQL vs. NoSQL Databases
PDF
Introdução a JPA (2010)
PDF
Hibernate Presentation
PPTX
Spring Web MVC
PDF
Jasper Reports
좌충우돌 ORM 개발기 | Devon 2012
Spring framework Introduction
Presentation Spring
Api presentation
AEM - Client Libraries
Introduction to Spring Framework
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
Tecnologías para microservicios
Java Hibernate Programming with Architecture Diagram and Example
Workshop Spring - Session 1 - L'offre Spring et les bases
Spring data jpa
Administracion de la seguridad de sql server
difference between React and Next js
Spring annotation
SQL vs. NoSQL Databases
Introdução a JPA (2010)
Hibernate Presentation
Spring Web MVC
Jasper Reports
Publicidad

Destacado (11)

PDF
Instalacion y Uso de JMeter
PDF
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
PPT
Jmeter para Aplicaciones Web
PPTX
JMeter: Análisis de Resultados.
PDF
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
PPTX
Estructuras detallada de trabajo edt
PPTX
Alternativas de Solución y Marco Lógico
DOC
Arbol de problemas y de objetivos
PPTX
Pruebas de estres
PDF
How to Make Awesome SlideShares: Tips & Tricks
PDF
Getting Started With SlideShare
Instalacion y Uso de JMeter
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Jmeter para Aplicaciones Web
JMeter: Análisis de Resultados.
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
Estructuras detallada de trabajo edt
Alternativas de Solución y Marco Lógico
Arbol de problemas y de objetivos
Pruebas de estres
How to Make Awesome SlideShares: Tips & Tricks
Getting Started With SlideShare
Publicidad

Similar a Prueba de carga ORACLE DB usando JMeter. (20)

PDF
Eesi prac4
DOCX
Grupo#4 trabajo colaborativo1
DOCX
Saturar Base de Datos Grupo 3 Pac Espe
PDF
Grupo1
PDF
Grupo1
PPTX
Escalabilidad Analysis Services 2012
PDF
Actividad4 interfaz_graficafinal_edwin_rodriguez .docx
PPTX
Db2 10 afinamiento
DOC
PPTX
I report
DOCX
Dominios producto final
PDF
S13_sgggggggggggggggggggggggggggggg2 - Material.pdf
PDF
Tema 5
DOCX
Comparación SMBD
PPTX
Diapositivas del jdbc magaly y duyen
PPTX
02 troubleshooting essentials sql server profiler - sql pass peru
PPT
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Eesi prac4
Grupo#4 trabajo colaborativo1
Saturar Base de Datos Grupo 3 Pac Espe
Grupo1
Grupo1
Escalabilidad Analysis Services 2012
Actividad4 interfaz_graficafinal_edwin_rodriguez .docx
Db2 10 afinamiento
I report
Dominios producto final
S13_sgggggggggggggggggggggggggggggg2 - Material.pdf
Tema 5
Comparación SMBD
Diapositivas del jdbc magaly y duyen
02 troubleshooting essentials sql server profiler - sql pass peru
Adaptación de JMeter para la minería de datos de estructuras de páginas web.

Más de Moisés Elías Araya (20)

PDF
Instalar Docker Desktop y Kubernetes en Windows 10
PDF
Instalacion Vz Linux
PDF
Conectar instancia gcp con putty
PDF
Instalar SDK Google Cloud
PDF
Instalacion y uso basico de Kubernetes.
PDF
Instalacion y uso basico de Docker.
PDF
Terraform Cosmos DB
PDF
Conceptos BPM
PDF
Instalacion basica ELK (elasticsearch) Windows
PDF
Cuadro mando Excel
PDF
Graficar SAR Linux (System Activity Report)
PDF
Instalacion Weblogic Server 12c Windows 10.
PDF
Ver uptime Windows
PDF
Modificar aspecto consola Windows
PDF
Resaltar celdas en Microsoft Excel.
PDF
Instalar y Configurar Python para Windows
PDF
Instalacion y uso basico de Jenkins
PDF
Instalacion de Docker CE en Windows 10
PDF
Instalacion Weblogic Server 11g Linux
PDF
Instalar DB Adventure Works SQL Server 2012
Instalar Docker Desktop y Kubernetes en Windows 10
Instalacion Vz Linux
Conectar instancia gcp con putty
Instalar SDK Google Cloud
Instalacion y uso basico de Kubernetes.
Instalacion y uso basico de Docker.
Terraform Cosmos DB
Conceptos BPM
Instalacion basica ELK (elasticsearch) Windows
Cuadro mando Excel
Graficar SAR Linux (System Activity Report)
Instalacion Weblogic Server 12c Windows 10.
Ver uptime Windows
Modificar aspecto consola Windows
Resaltar celdas en Microsoft Excel.
Instalar y Configurar Python para Windows
Instalacion y uso basico de Jenkins
Instalacion de Docker CE en Windows 10
Instalacion Weblogic Server 11g Linux
Instalar DB Adventure Works SQL Server 2012

Último (20)

PDF
CyberOps Associate - Cisco Networking Academy
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
taller de informática - LEY DE OHM
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
clase auditoria informatica 2025.........
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Presentación de Redes de Datos modelo osi
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
SAP Transportation Management para LSP, TM140 Col18
PPT
Que son las redes de computadores y sus partes
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Maste clas de estructura metálica y arquitectura
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
CyberOps Associate - Cisco Networking Academy
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
introduccion a las_web en el 2025_mejoras.ppt
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
taller de informática - LEY DE OHM
Power Point Nicolás Carrasco (disertación Roblox).pptx
clase auditoria informatica 2025.........
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Presentación de Redes de Datos modelo osi
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
SAP Transportation Management para LSP, TM140 Col18
Que son las redes de computadores y sus partes
historia_web de la creacion de un navegador_presentacion.pptx
Calidad desde el Docente y la mejora continua .pdf
Estrategia de apoyo tecnología grado 9-3
Maste clas de estructura metálica y arquitectura
Zarate Quispe Alex aldayir aplicaciones de internet .docx

Prueba de carga ORACLE DB usando JMeter.

  • 2. Tabla de contenido Prueba de carga básica a DB Oracle 11g con JMeter.......................................................... 3 Introducción...................................................................................................... 3 Objetivo:.......................................................................................................... 3 Entorno:........................................................................................................... 3 Procedimiento: .................................................................................................. 3 1. Descargar, descomprimir y ejecutar JMeter. ....................................................... 3 2. Agregar driver odbc a JMeter.......................................................................... 4 3. Crear grupo de hilos (Threads). ....................................................................... 4 4. Configurar el grupo de hilos. .......................................................................... 4 5. Configuración de conexión JDBC. ..................................................................... 5 6. Crear petición JDBC..................................................................................... 6 7. Muestra de resultados. ................................................................................. 7 8. Guardar cambios ........................................................................................ 8 9. Ejecutar prueba. ........................................................................................ 8 10. Resultados: ...........................................................................................10 Prueba de carga 2: ..........................................................................................10 Utilidades externas.............................................................................................11 Monitoreo de recursos del servidor. .........................................................................14 Software utilizado ...........................................................................................15 Referencias ...................................................................................................15 Glosario .......................................................................................................15 ANEXOS .............................................................................................................16 Instalar y configurar ServerAgent JMeter. .................................................................16 Configuración Listener (Receptor) PerfMon Metrics Collector ...........................................16 Instalación de JDK en linux. ..................................................................................18
  • 3. Oracle DB JMeter| Moises Araya [3] Prueba de carga básica a DB Oracle 11g con JMeter. Introducción JMeter es una aplicación JAVA utilizada para realizar tests de carga, funcional y de rendimiento, es multiplataforma y se pueden testear ambientes WEB, FTP, SMTP, JDBC, SOAP, entre otros. Objetivo: Se realizará una prueba de carga básica sobre una Base de Datos Oracle 11g R2 y posteriormente se realizara un análisis del comportamiento del servidor y sus resultados, también se mostraran algunos plugins que permiten la mejora de la lectura de datos. La prueba consta de una simulación de conexiones concurrentes que realizaran una consulta a la DB. # Se asume el conocimiento previo de la herramienta JMeter. Entorno:  DB Oracle 11 g R2 sobre CentOS 6.4 64 Bits Virtualizado en VMWare  Características: 30 GB HDD/2GB.  JMeter ejecutándose en Windows 7.  Plugins JMeter para la muestra de datos y gráficos avanzados. Procedimiento: 1. Descargar, descomprimir y ejecutar JMeter. Vista de la interfaz de JMeter.
  • 4. Oracle DB JMeter| Moises Araya [4] 2. Agregar driver odbc a JMeter. Descargar y copiar jar a carpeta lib de jmeter, luego clic en navegar y agregar el jar copiado. 3. Crear grupo de hilos (Threads). El grupo de hilos actúa como si fuera un usuario y permite controlar:  El número de hilos concurrentes que acceden a la base de datos.  La frecuencia de los accesos.  El número de solicitudes (tanto por cada hilo como el volumen total). Clic derecho sobre plan de pruebas – Añadir – Hilos – Grupo de Hilos. 4. Configurar el grupo de hilos.  Nombre: TestOracle  Comentario: Prueba contra Oracle DB.  Acción a tomar después de un error de muestreador: Por defecto que es Continuar.  Propiedades de hilo: o Numero de hilos (usuarios): número de sesiones concurrentes. o Periodo de subida (en segundos): cada cuanto tiempo un usuario ejecuta el escenario. o Contador de bucle: Numero de repeticiones a realizar.
  • 5. Oracle DB JMeter| Moises Araya [5] El periodo de subida se calcula así:  Periodo de carga = periodo de subida/número de hilos Un ejemplo seria así: un usuario ejecuta la consulta cada 0.3 segundos hasta llegar a los 300 usuarios:  Periodo de subida = periodo de carga (0.3) * número de hilos (300) = 90 segundos 5. Configuración de conexión JDBC. Para crear una conexión JDBC, clic derecho sobre el grupo de hilos – añadir - elemento de configuración y configuración de la conexión JBDC. Configuración:  Nombre: Describe la conexión JDBC.  Comentario: Ej la instancia o tabla a manipular.  Nombre de la variable enlazado al Pool: Identifica la conexión.  Configuración de la conexión a la base de datos: o URL de la base de datos: jdbc:oracle:thin:@192.168.196.137:1521:ORCL o Clase del driver JDBC: oracle.jdbc.OracleDriver o Usuario: Usuario o Password: Contraseña
  • 6. Oracle DB JMeter| Moises Araya [6] # El resto de los valores queda por defecto. 6. Crear petición JDBC. Acá se configuran las sentencias o consultas SQL a ejecutar en la DB. Para crear una petición JDBC: Clic derecho sobre el grupo de hilos – Añadir – muestreador y petición JDBC.
  • 7. Oracle DB JMeter| Moises Araya [7] Configuración:  Nombre: Peticion JDBC  Query SQL: Consulta a ejecutar. # La prueba a ejecutar será un select de una tabla previamente creada. 7. Muestra de resultados. Para poder visualizar/capturar e interpretar los datos, se necesitan los receptores o listeners. Algunos de ellos son:  Informe Agregado: entrega información acerca de las estadísticas de la prueba de carga, tiempos de carca, errores de solicitudes, valores máximos, mínimo, cantidad de Kb/s procesados por el segundo, entre otros.  Gráfico de Resultados: muestra un gráfico con los tiempos de respuesta medios, desviación, mediana y el rendimiento de las pruebas.  Ver Árbol de Resultados: entrega el resultado de cada una de las solicitudes.  Ver Resultados en Árbol: muestra un árbol con todas las respuestas, indicando muestras, tiempo de respuestas y bytes transmitidos.  Visualizador Spline: muestra un gráfico de tiempo de respuesta en spline, indica el máximo, mínimo y la media. Para agregar un receptor clic derecho sobre el grupo de hilos – añadir – receptor.
  • 8. Oracle DB JMeter| Moises Araya [8] Listeners agregados: Cada listener agregado tiene la opción de guardar los datos capturados en un archivo .csv o .jtl para su análisis posterior. 8. Guardar cambios Archivo – guardar plan de pruebas como. 9. Ejecutar prueba. Presionar sobre icono play verde para ver los resultados. Resultados de listeners agregados: a) Informe agregado: No muestra errores.
  • 9. Oracle DB JMeter| Moises Araya [9] b) Visualizador Spline: c) Árbol de resultados: d) Resultados en árbol:
  • 10. Oracle DB JMeter| Moises Araya [10] 10. Resultados: Los tiempos de respuesta son buenos, se resuelven todas las solicitudes, no existen errores, la carga del servidor es alta en tres etapas y después va disminuyendo, como resultado se puede decir que este nivel de carga es muy bajo. Prueba de carga 2: Un usuario ejecuta la consulta cada 0. 04 segundos hasta llegar a los 1500 usuarios:  Periodo de subida = periodo de carga (0.04) * número de hilos (1500) = 60 segundos (duración de la prueba de carga. Resultados: Se visualiza un aumento en los tiempos de respuesta y en el rendimiento, esto es debido a que tiene que cursar una mayor cantidad de solitudes en un menor tiempo, aun así se resuelven la totalidad de las solicitudes. Como conclusión, se determina que este nivel de carga puede ser ejecutado correctamente por el servidor.
  • 11. Oracle DB JMeter| Moises Araya [11] Utilidades externas JMeter presenta dos principales problemas a la hora de mirar los informes generados por los listeners por defecto: no son fácilmente comprensibles y no son configurables, esto hace un tanto complejo el análisis de resultados los cuales deben ser entendibles, deben permitir la correlación, deben ser configurables (flexibles) y rápidos de obtener, todo esto con el fin de minimizar los tiempos de análisis y generación de documentos. A continuación se presentan algunos plugins disponibles para JMeter que tienen como finalidad la entrega de otros datos tales como:  Bytes Throughput Over Time  Active Threads Over Time  Transactions per Second  Transaction Throughput vs Threads Para obtener estos plugins, se deben descargar de http://jmeter-plugins.org/ y luego descomprimir en la carpeta /lib/ext de del directorio jmeter. # El set de plugins utilizados fue el Estandar. Para agregar uno de estos se debe de proceder de la misma manera que para los otros listeners o receptores: A continuación se muestra una comparación de los gráficos obtenidos de las dos pruebas realizadas:  Bytes Throughput Over Time Prueba 1
  • 12. Oracle DB JMeter| Moises Araya [12] Prueba 2  Active Threads Over Time Prueba 1 Prueba 2
  • 13. Oracle DB JMeter| Moises Araya [13]  Transactions per Second Prueba 1 Prueba 2  Transaction Throughput vs Threads Prueba 1
  • 14. Oracle DB JMeter| Moises Araya [14] Prueba 2 Monitoreo de recursos del servidor. Existe otro plugin que muestra el consumo de los recursos del servidor, para visualizar los datos se deben realizar una serie de configuraciones que se muestran en el apartado anexos Consumo de recursos del servidor durante la prueba 1
  • 15. Oracle DB JMeter| Moises Araya [15] Como último y de manera opcional, podemos utilizar los comandos que nos provee Linux para saber el estado de nuestro servidor:  free  top  vmstat  lsof  netstat  Iotop  Iostat  uptime Software utilizado  JMeter: http://bit.ly/1jYtoQc  JMeter Plugins: http://bit.ly/1d5enpL  OJDBC: http://bit.ly/M6yYE7  ServerAgent: http://bit.ly/19XPEJ4 Referencias  Valores por defecto para drivers JDBC http://gerardnico.com/wiki/language/java/jdbc_url Glosario CORRELACION: Correspondencia recíproca entre dos o más cosas, personas, ideas, etc. PRUEBA DE CARGA: Simulación el comportamiento de una aplicación cuando se ve sometido a una alta concurrencia de usuarios. SPLINE: termino matemático, es una curva definida en porciones mediante polinomios, utilizada para aproximar formas complicadas y para graficar formas 2d,3d o más dimensiones.
  • 16. Oracle DB JMeter| Moises Araya [16] ANEXOS Instalar y configurar ServerAgent JMeter. Esta opción es útil para el monitoreo de recursos del servidor, tales como; CPU, Memory, Swap, Disks I/O, Network I/O, TCP, JMX, Exec y Tail. Descargar desde http://code.google.com/p/jmeter-plugins/downloads/detail?name=ServerAgent- 2.2.1.zip&can=2&q Descomprimir archivo en alguna carpeta y ejecutar según se muestra. [oracle@dboracle]$ [oracle@dboracle]$ cd /home/oracle/jmeter/ [oracle@dboracle]$ unzip ServerAgent-2.2.1.zip [root@dboracle jmeter]# ls CMDRunner.jar lib LICENSE ServerAgent-2.2.1.zip ServerAgent.jar startAgent.bat startAgent.sh [root@dboracle jmeter]# ./startAgent.sh –sysinfo Extracto: INFO 2014-01-21 15:49:18.419 [kg.apc.p] (): *** Logging available processes *** INFO 2014-01-21 15:49:18.465 [kg.apc.p] (): Process: pid=1 name=init args=/sbin/init INFO 2014-01-21 15:49:18.494 [kg.apc.p] (): Process: pid=464 name=udevd args=/sbin/udevd -d INFO 2014-01-21 15:49:18.670 [kg.apc.p] (): *** Done logging sysinfo *** INFO 2014-01-21 15:49:18.670 [kg.apc.p] (): Binding UDP to 4444 INFO 2014-01-21 15:49:19.678 [kg.apc.p] (): Binding TCP to 4444 INFO 2014-01-21 15:49:19.723 [kg.apc.p] (): JP@GC Agent v2.2.0 started Referencia: http://jmeter-plugins.org/wiki/PerfMonAgent/ Configuración Listener (Receptor) PerfMon Metrics Collector Este listener está disponible de la misma que los otros ya descritos. Para agregar los monitores, clic sobre Add Row y seleccionar el parámetro a medir.
  • 17. Oracle DB JMeter| Moises Araya [17] Cada parámetro a medir puede ser personalizado: Ej. Network I/O Y como el resto de los receptores (Listeners), es posible guardar los datos en un archivo. También es posible configurar las características del gráfico.
  • 18. Oracle DB JMeter| Moises Araya [18] Instalación de JDK en linux.  Descargar JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html  Copiar archivo a servidor, en este caso el archivo descargado es un *.bin  Ejecutar según se muestra: [root@ dboracle home]# ./jdk-6u45-linux-x64-rpm.bin Unpacking... Checksumming... Extracting... UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu). inflating: jdk-6u45-linux-amd64.rpm inflating: sun-javadb-common-10.6.2-1.1.i386.rpm inflating: sun-javadb-core-10.6.2-1.1.i386.rpm inflating: sun-javadb-client-10.6.2-1.1.i386.rpm inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm Preparando... ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... plugin.jar... javaws.jar... deploy.jar... Installing JavaDB Preparando... ########################################### [100%] 1:sun-javadb-common ########################################### [ 17%] 2:sun-javadb-core ########################################### [ 33%] 3:sun-javadb-client ########################################### [ 50%] 4:sun-javadb-demo ########################################### [ 67%] 5:sun-javadb-docs ########################################### [ 83%] 6:sun-javadb-javadoc ########################################### [100%] Verificar version y ruta de binarios. [root@dboracle home]# java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) [root@dboracle home]# which java /usr/bin/java