Sei sulla pagina 1di 56

Fecha de publicacin del tutorial: 2006-05-04

Tutorial visitado 35.087 veces Descargar en PDF

Testeando Aplicaciones Oracle Forms 10G con Load Runner


Introduccin Metodologa
Degradacin del Desempeo (Performance) Nmero de Usuarios Tiempo de Respuesta Tipos de Test Complejidad de la aplicacin Escenarios Entorno de trabajo Oracle Summit: la aplicacin a testear
Arquitectura de la aplicacin a testear

Software de Testing

Configuracin de la aplicacin Summit con Forms 10G


Creacin del usuario summit en la base Oracle 10G Import del dmp de Summit

Cambios realizados a las formas de la aplicacin Summit para emplearla con Oracle Forms 10G
Compilacin de las formas Creacin del archivo summit.env Edicin del archivo formsweb.cfg Creacin del war de la aplicacin Publicacin de la aplicacin Summit en Oracle Application Server

Instalacin y Configuracin de Mercury LoadRunner


Introduccin a LoadRunner Esquema de Funcionamiento de LoadRunner Ejecutar el instalador Configuracin del VUG (Virtual User Generator) Edicin de los scripts generados con el VUG
Parmetro jsessionid y variable NCAJSerSessionID Creacin de parmetros para el script

Ejecucin de un escenario con LoadRunner

Conclusiones Bibliografa

Testeando Aplicaciones Oracle Forms 10G con Load Runner


Introduccin
Una de las mayores preocupaciones de los desarrolladores es poder llegar a determinar los lmites crticos en los cuales una aplicacin de software trabajar de modo eficaz. Para poder establecer hasta que parmetros la aplicacin puede crecer y ser escalable, esto significa que se pueda realizar una simple adicin de dispositivos de hardware con el objetivo de mejorar el desempeo sin que sea necesario realizar cambios o modificaciones en el software desarrollado.

Metodologa
El objetivo de realizar test sobre una aplicacin no es obtener nmeros sino determinar hasta que grado una aplicacin es escalable. Entendiendo por esto que se puede llegar a determinar el nmero de usuarios que pueden ser soportados en una arquitectura determinada con un rendimiento aceptable. En este marco deben seguirse los siguientes pasos Establecer un escenario real Grabar el escenario. Replicar el escenario para simular usuarios concurrentes, con un nmero incremental de usuarios en cada iteracin. Cuando el rendimiento general se vea degradado se puede obtener el mximo nmero de usuarios que podrn ser soportados. Repetir varias veces el proceso y hacer ajustes graduales a la configuracin de equipos y servidores en los casos en los que se considere necesario Tabular la informacin obtenida para obtener promedios. Analizar los resultados.

Degradacin del Desempeo (Performance)


A medida que agreguemos usuarios el desempeo de la aplicacin se empezar a ver comprometido, el usuario notar que en general el comportamiento de la aplicacin es ms lento para la [1]sensibilidad humana. Una vez que se llegue al punto de saturacin el desempeo de la aplicacin va a decaer drsticamente.

Nmero de Usuarios
Para una simulacin de usuarios concurrentes, Oracle recomienda que se adicionen usuarios en pasos de 50, incrementando el nmero de 50 en 50 cada vez.

Tiempo de Respuesta
El tiempo de respuesta se define como el tiempo de envo de un Mensaje de Forms es decir el tiempo que transcurre desde una peticin del cliente Forms hacia el servidor y hasta obtener la respuesta del mismo. Un ejemplo de un tiempo de respuesta aceptable en una aplicacin Forms est en el orden de 30 milisegundos para un usuario conectado en un ambiente cliente servidor.

Tipos de Test
Existen dos tipos bsicos de Test Saturacin de Memoria: En este tipo de test se somete a la aplicacin a incrementos de carga variables hasta forzar a la memoria a tener un cuello de botella. Esto es que el servidor no pueda liberar memoria a tiempo para atender el nmero creciente de demanda de recursos de los usuarios. Saturacin de CPU: En este tipo de test se obliga al servidor a usar el 100% de recursos de procesamiento de CPU sin que se llegue a consumir toda la memoria RAM disponible para procesamiento.

Complejidad de la aplicacin
Para Oracle Forms se pueden establecer los siguientes criterios para determinar el tamao de las aplicaciones Aplicaciones Pequeas: se definen de la siguiente manera Menos de 1Mb en el tamao de los archivos abiertos concurrentemente (.plx, .fmx, etc) Menos de 10 bloques, 5 canvas (lienzos) y 3 windows (ventanas) Mximo de 2 formas abiertas concurrentemente Aplicaciones Medianas: se caracterizan por Entre 1 a 3 Mb en el tamao de los archivos abiertos concurrentemente (.plx, .fmx, etc) De 10 a 20 bloques, 5 a 15 canvas (lienzos) y 3 a 10 windows (ventanas) Mximo de 3 a 5 formas abiertas concurrentemente Aplicaciones Grandes: se caracterizan por Ms de 3 Mb en el tamao de los archivos abiertos concurrentemente (.plx, .fmx, etc) Ms de 20 bloques, ms 15 canvas (lienzos) y ms 10 windows (ventanas) Ms de 5 formas abiertas concurrentemente Nota: Oracle no proporciona ejemplos de benchmarking para aplicaciones grandes, en esos casos recomienda al usuario realizar su propio benchmarking, en funcin de los criterios presentados en sus documentos de gua.

Escenarios
Los escenarios a ser testeados deben incluir Consultas de informacin Insercin, Modificacin, y Eliminacin de Datos Navegacin entre campos, canvas, windows de una forma. Navegacin entre formas Carga de formas pesadas y/o complejas

Entorno de trabajo
El siguiente es el entorno de trabajo de nuestra aplicacin de ejemplo.
Servidor de Aplicaciones Servidor de Base de Datos

Hardware Mquina Clon Pentium IV 2.8 GHz RAM 4GB HD 40 GB Software Oracle Application Server 10g Release 2 (10.1.2) Linux Red Hat Advantage Server 4.0

Mquina Clon Pentium IV 2.8 GHz RAM 1.5 GB HD 70 GB Oracle DataBase 10g Release 2 (10.1.2) Linux Red Hat Advantage Server 4.0

Nota: Web Server y Application Server son el mismo equipo en nuestro actual entorno de trabajo, en una aplicacin real es muy probable que se empleen equipos diferentes

Oracle Summit: la aplicacin a testear


Se ha seleccionado la aplicacin de ejemplo Summit de Oracle, la misma que representa una aplicacin pequea y puede ser descargada desde el portal de Oracle http://otn.oracle.com/products/forms/content.html

Arquitectura de la aplicacin a testear La aplicacin que se desea testear, es una aplicacin Oracle Forms migrada al web. Tenemos entonces las siguientes capas Base de datos Formas (Forms)

Forms Services y Servlet Listener Application Server y web client

Clientes web Windows 9.x y superiores

Red Hat Linux Advantage Server 4.0

Porttil

Porttil

Oracle 10g Application Server

Red Hat Linux Advantage Server 3.0

Forms Services + Listener Servlet

Oracle 10G

Software de Testing
Para las pruebas se ha preseleccionado la herramienta LoadRunner de Mercury la misma que nos permite grabar de manera ntegra una transaccin de la aplicacin y luego replicarla para la simulacin de usuarios concurrentes. Para verificar las caractersticas de la herramienta ir a http://www.mercury.com

Configuracin de la aplicacin Summit con Forms 10G


La aplicacin summit debe descomprimirse y seguir los siguientes pasos configurarla en el ambiente de Oracle Forms 10G.

Creacin del usuario summit en la base Oracle 10G


Primero usted debe conectarse a la instancia de Oracle y crear el usuario summit como se indica a continuacin

Import del dmp de Summit


El zip contiene un dmp de la base que debe ser importado utilizando el comando imp userid=summit/summit@<connect_string> file=summit.dmp full=y

Cambios realizados a las formas de la aplicacin Summit para emplearla con Oracle Forms 10G
La versin 10G de Oracle Forms introduce muchos cambios en relacin a las funciones built-in donde muchas ya no son soportadas, por lo cual se debi modificar ligeramente a la aplicacin de ejemplo antes de poder ser empleada. Los cambios realizados fueron bsicamente los siguientes Reemplazar la llamada de formas, uso de call(forma) se actualiza por call_form(forma)

Reemplazar las funcionalidades del tipo disable_item('Query','Enter') por SET_ITEM_PROPERTY('Enter',ENABLED,PROPERTY_FALSE) Reemplazar las funcionalidades del tipo enable_item('Query','Last_Criteria') por SET_ITEM_PROPERTY('Last_Criteria',ENABLED,PROPERTY_TRUE)

Compilacin de las formas


Usted deber tener adecuadamente configuradas las variables de ambiente ORACLE_HOME y JAVA_HOME, las formas que se proporcionan con la aplicacin deben ser fsicamente copiadas hasta un directorio en el servidor y luego debern ser incluidas en el path de Forms. Por ejemplo usted puede copiar sus formularios en la ubicacin ORACLE_HOME/formas/fsummit Una vez que lo ha realizado proceder a compilarlas ejecutando $ORACLE_HOME/bin/frmcmp module=customers.fmb userid=summit/summit@orcl batch=no module_type=FORM

Adicionalmente el archive RoundedButton.class ORACLE_HOME/forms/java

debe

ser

copiado

la

ubicacin

Creacin del archivo summit.env


Debe ubicarse en el directorio ORACLE_HOME/forms/Server y copiar el archivo default.env a la copia renmbrela como summit.env Este archivo se utilizar para la definicin de los parmetros en tiempo de ejecucin de Oracle Forms, si un parmetro no est definido en este archivo, el valor por defecto se tomar de la configuracin general de Forms. En la copia debe editar la lnea correspondiente a FORMS_PATH FORMS_PATH=/home/oracle/OraHome_2/forms:/home/oracle/dirFormas/fsummit Y la seccin correspondiente a CLASS_PATH CLASSPATH=/home/oracle/OraHome_2/j2ee/OC4J_BI_Forms/applications/formsa pp/formsweb/WEBINF/lib/frmsrv.jar:/home/oracle/OraHome_2/jlib/repository.jar:/home/ora cle/OraHome_2/jlib/ldapjclnt10.jar:/home/oracle/OraHome_2/jlib/debugger .jar:/home/oracle/OraHome_2/jlib/ewt3.jar:/home/oracle/OraHome_2/jlib/s hare.jar:/home/oracle/OraHome_2/jlib/utj.jar:/home/oracle/OraHome_2/jli b/zrclient.jar:/home/oracle/OraHome_2/reports/jlib/rwrun.jar:/home/orac le/OraHome_2/forms/java/frmwebutil.jar:/home/oracle/OraHome_2/jdk/jre/l

ib/rt.jar:/home/oracle/OraHome_2/forms/java/frmall.jar:/home/oracle/Ora Home_2/forms/java/irmserver.jar:/home/oracle/OraHome_2/forms/java/frmal l_jinit.jar:/home/oracle/OraHome_2/forms/java/RoundedButton.class

Edicin del archivo formsweb.cfg


Este archivo define los parmetros utilizados por FormServlet, es necesario incluir una seccin para nuestra aplicacin [summit] IE=JInitiator archive_jini=irmserver.jar,frmall_jinit.jar,RoundedButton.class userid=summit/summit@orcl form=customers ssoMode=false pageTitle=Summit splashScreen=no lookAndFeel=oracle separateFrame=false width=994 height=582 serverapp=/summit/summit_reg envFile=summit.env serverURL=/forms/lservlet/debug

Creacin del war de la aplicacin


Crearemos un proyecto utilizando la herramienta JDeveloper, bsicamente necesitamos definir una pgina jsp para configurar en ella la llamada al applet de Forms e incluir en el proyecto las imgenes e iconos de la aplicacin. Luego generaremos el war y lo deployaremos (publicaremos) en nuestro Oracle Application Server.

Publicacin de la aplicacin Summit en Oracle Application Server


Primero crearemos la instancia OC4J Summit

Luego publicaremos el war summit.war en la instancia que creamos anteriormente.

Subimos la instancia

Nos conectamos a la aplicacin

Instalacin y Configuracin de Mercury LoadRunner


El primer paso es descargar la herramienta, para esto se puede obtener un trial de la versin 8 de LoadRunner desde el sitio de Mercury http://www.mercury.com

Introduccin a LoadRunner
LoadRunner es la herramienta desarrollada por Mercury para ayudar a automatizar los procesos de testing y pruebas de simulacin de carga en aplicaciones cliente-servidor, web y n-capas. Algunos trminos empleados cotidianamente en LoadRunner son: Escenarios (Scenarios): Un escenario es un archivo que define los eventos que ocurren durante una sesin de testing, basado en requerimientos de desempeo. Usuarios Virtuales (Vuser): Un usuario virtual emula la accin de un actor humano que trabaja con la aplicacin testeada. Durante la ejecucin de un escenario LoadRunner reemplaza a los usuarios humanos con usuarios virtuales. Un escenario puede contener 10, 100 o miles de usuarios virtuales. Scripts de Usuarios Virtuales (Vuser scripts): Un script es una grabacin de los pasos ejecutados por un usuario durante su interaccin con la aplicacin. Transacciones (Transactions): Una transaccin representa el proceso de negocio cuyo comportamiento se est interesado en analizar

Ejecutar el instalador
Instalar LoadRunner es realmente muy sencillo, usted debe ejecutar el archivo y seguir los pasos como se ve en las siguientes pantallas

Una vez que ha finalizado, usted debe reiniciar su equipo

Configuracin del VUG (Virtual User Generator)


El VUG es la utilidad de LoadRunner que nos permite realizar una grabacin de una secuencia de operaciones o pasos en nuestras aplicaciones, para luego poder reproducirlas en diferentes escenarios de pruebas. Como primer paso el usuario debe ingresar a Archivos de programa Mercury... Applications Virtual User Generador (VUG)

Una vez que ha accedido a la aplicacin se presentar una pantalla de bienvenida. En ella debe seleccionar New Multiple Protocol Script como se muestra en la siguiente pantalla.

Del listado de protocolos disponibles seleccionar: Oracle NCA Web (http)

Ir al botn de opciones y seleccionar las siguientes cajas de texto en las opciones generales concernientes a scripts

Verificar que se encuentren seleccionados los protocolos NCA y HTPP / HTML

Verificar la configuracin de puertos del servidor

En las opciones de Internet Protocol Recording seleccionar URL-base script

Las opciones avanzadas deben dejarse como sigue

La pantalla de correlaciones debera dejarse as:

A continuacin se presentar la pantalla de Star Recording, en ella se tiene que seleccionar el tipo de accin y llenar la informacin Tipo de aplicacin: Internet Cliente / Servidor Program to record: Programa a monitorear URL Address: Direccin de la aplicacin a monitorear Working directory: Directorio de trabajo

oas10g

Al presionar ok se empezar con la grabacin

Se presentar la pantalla inicial de nuestra aplicacin

Realizamos varias acciones sobre la pantalla

Finalmente detenemos la grabacin y empezar a generarse automticamente el script

Finalmente podemos ver el resultado de la creacin del script

Edicin de los scripts generados con el VUG


A continuacin deberemos realizar algunas ediciones al script que generamos en el paso anterior. Parmetro jsessionid y variable NCAJSerSessionID Esta guarda el ID de la sesin NCA/HTML con la que se conect el usuario al momento de la grabacin. Una sesin HTML es nica por tanto para reproducir posteriormente la grabacin debemos hacer que el parmetro jsessionid tome el valor de la variable NCAJSerSessionID en cada iteracin. Para esto debemos ubicar al parmetro dentro del script y editarlo como se muestra en las siguientes pantallas.

Creacin de parmetros para el script La grabacin generada nos guarda todas las acciones y eventos que generamos sobre la aplicacin. Suponga que usted desea editar el valor de un usuario el valor de una cuenta una cantidad cualquiera, entonces es necesario ubicar el valor en el texto del script y convertirlo en un parmetro.

Nos posicionamos sobre el valor y damos clic derecho

Se mostrar una pantalla emergente donde debemos especificar el nombre del parmetro y su tipo, luego presionar el botn Properties

Se muestra la pantalla de configuracin de propiedades del parmetro

Presionamos el botn de Create Table

Se mostrar la pantalla actualizada con el primer valor del parmetro que estamos definiendo

Presionando el botn Edit with Notepad podemos editar la tabla de parmetros y sucesivamente aadirle nuevos valores.

Cerramos esta pantalla y volveremos a la pantalla principal, notaremos como se muestra el parmetro en nuestro script

Acto seguido podemos almacenar a nuestro script con un nombre

Ejecucin de un escenario con LoadRunner


Es necesario iniciar el LoadRunner Controller, para esto debe dirigirse a Archivos de Programa\Mercury LoadRunner\LoadRunner

Se mostrar la pantalla de inicio de la herramienta.

Para ejecutar un escenario seleccionar Run Load Tests

Seleccionamos el script de Summit

Luego presionamos ok y se mostrar la pantalla inicial de ejecucin del escenario

Presionamos el botn Star Scenario

Como nuestra licencia es temporal y hemos excedido el nmero mximo de usuarios permitidos (10) se presentar una ventana con un mensaje de advertencia.

A continuacin la herramienta empezar a ejecutar el escenario y a enviar informacin a los monitores configurados

Mostrando el comportamiento y concurrencia de los usuarios virtuales as como estadsticas a nivel de hits por segundo en la capa http

Finalmente podremos visualizar un sumario con la informacin resumen de le ejecucin del test

Conclusiones
Este documento no es un sustituto para la realizacin de su propio benchmarking pero constituye una gua inicial para ayudar a determinar la escalabilidad de una aplicacin. Cada aplicacin es diferente, los criterios proporcionados por Oracle permiten en cierta forma ubicar a las aplicaciones de Forms en una clasificacin en funcin del tamao de los archivos, nmero de canvas, windows y formas abiertas en forma simultnea. Antes de la realizacin de una prueba se debe contar con un ambiente estable y se debe esquematizar previamente el respectivo plan de pruebas. Ninguna prueba de stress est completa si paralelamente no se realizan esquemas de ajuste a la configuracin de los servidores y servicios involucrados. Estas acciones no estn contempladas en el presente documento. Existen otros esquemas en Oracle Forms como la activacin de trazas a nivel de servidor y la activacin de las estadsticas del sistema que no se han mencionado pues el objetivo era realizar una induccin a la herramienta LoadRunner.

Bibliografa
Oracle Corporation, Oracle Forms Services Release 6i Capacity Planning Guide Oracle Application Server (OAS) 10G, Online Documentation Mercury, LoadRunner UserGuide

Potrebbero piacerti anche