El análisis del rendimiento de enterprise javabeans

El análisis del rendimiento es probablemente una de las tareas más complejas en el diseño de cualquier aplicación. Es una ciencia imprecisa debido a que hay muchos factores que entran en juego. Estos son aumentados en aplicaciones de Enterprise JavaBeans (EJB), donde el rendimiento depende en gran medida de la implementación del contenedor EJB utiliza. La conclusión es que no se puede saber si usted está tomando las decisiones correctas de rendimiento hasta que los prueba.

Video: VideoTutorial 10 del Taller Práctico de Java Server Page ( JSP ). Enterprise Java Bean EJB

A continuación se presentan algunas cuestiones que debe tener en cuenta al considerar los problemas de rendimiento:

  • No todos los contenedores EJB son iguales. Si bien cada contenedor EJB debe cumplir con la especificación EJB, los vendedores tienen una amplia libertad en la aplicación del contenedor EJB. Sus necesidades se centran en los resultados de las operaciones, no en la eficiencia de una operación. Algunos vendedores van a hacer un mejor trabajo con diferentes porciones de un contenedor EJB. Debe determinar dónde eficiencias se pueden obtener en un contenedor EJB y donde los cuellos de botella de rendimiento se van a producir. La única manera de saber con certeza que es a probar antes de comprar. Incluso después de comprar una solución, las decisiones importantes de diseño, como si debe o no utilizar beans de entidad EJB, deben ser probados.
  • El rendimiento puede depender de la eficacia de su aplicación. Hay reglas generales que se pueden utilizar para ayudar a determinar qué aplicación diseños son mejores que otros. Sin embargo, estas directrices pueden ser fácilmente anulados con una aplicación descuidada. La mejor manera, evitará así posibles implementaciones descuidados es llevar a cabo regularmente revisiones de código - que es cuando se sientan alrededor con todos sus compañeros de trabajo de codificación y hacer que revisen su trabajo - durante su proyecto EJB. Usted debe enfocar sus revisiones de código en el análisis de la fuente y la garantía de que es tanto bien diseñado y eficiente. revisiones de código ofrecen una gran oportunidad para que los programadores aprender unos de otros.
  • Desarrollar un prototipo para probar su hipótesis de comportamiento. He aquí un escenario de ejemplo. Como un desarrollador de aplicaciones EJB, debe decidir pronto si debe o no utilizar beans de entidad para gestionar la interacción con una base de datos. Sus dos opciones básicas son las de

Video: 013.- Enterprise JavaBeans (EJBs)

Crear beans de entidad para gestionar la interacción de base de datos. Los beans de entidad pueden simplificar su interacción base de datos desde una perspectiva de programación de aplicaciones. Pero también pueden exigir una reducción del rendimiento. Algunos de que la pena puede ser controlada en la forma en que se implementa beans de entidad - es decir, mediante el uso de interfaces locales frente a las interfaces remotas o haciendo beans de entidad objetos de grano grueso.

base de datos de código de llamadas JDBC directamente en beans de sesión y evitar el uso de beans de entidad en conjunto. JDBC puede ser más difícil de trabajar que el uso de beans de entidad con persistencia gestionada por contenedor. Este curso también puede poner en peligro su capacidad para aprovechar las transacciones gestionadas por contenedor EJB.

Para determinar cuál de los dos cursos es más apropiado, puede realizar una prueba sencilla:

1. Crear un bean de entidad y un bean de sesión que ambos realizan operaciones en el mismo conjunto de datos de una base de datos.

2. Escribir un programa simple que mide la cantidad de tiempo necesario para distribuir un conjunto de inserciones, actualizaciones, consultas y modificaciones en la base de datos.

Este segundo programa debe invocar el bean de sesión para una prueba y el bean de entidad para otra prueba - la realización de la misma serie de operaciones en cada uno.

3. Analizar los resultados para determinar si el rendimiento va a ser un problema.

Si quieres un análisis de rendimiento de grano más fino, se puede medir el tiempo pasos individuales - para identificar la operación más costosa - y luego tratar de modificar esas operaciones para generar mejoras de rendimiento.

Para un bean de entidad, es posible que desee medir el desempeño de las siguientes operaciones:

  • ¿Cuánto tiempo se tarda en obtener una referencia a una interfaz remota o una interfaz local?
  • ¿Cuál es la diferencia en el rendimiento entre realizar una actualización de una interfaz remota y una interfaz local?
  • ¿Cuál es la diferencia entre la actualización de múltiples filas en una base de datos en JDBC y realizar una actualización de varias filas utilizando el método de inicio de un bean de entidad?

Video: EJB.wmv

Las respuestas a estas preguntas serán diferentes de contenedor EJB contenedor EJB y también se verá influenciada por: a) el controlador JDBC que elegir- b) si se utiliza o no pooling- conexión de base de datos y c) la eficiencia de sus implementaciones de la bean de entidad y el bean de sesión. Probablemente se sorprenderá de algunos de los resultados que obtiene - pruebas como éstas tienen una forma de desafiar sus suposiciones sobre el rendimiento de los beans de entidad.

Cuando se está sintonizando un EJB para el rendimiento, no hacer cambios al azar. En su lugar, se centran su atención en los pasos de la aplicación que tuvo el mayor costo en términos de rendimiento.

Video: EJB Architecture

Nota:Mediciones de rendimiento por lo general revelan que un proceso de negocio tiene sólo uno o dos puntos en los que se pueden hacer mejoras significativas. Esta observación se ha hecho con la suficiente frecuencia que condujo a la creación de la regla de Pareto 80-20. Esa norma establece que el 80 por ciento del tiempo de ejecución de un programa se debe al 20 por ciento del código. Su objetivo debe ser identificar cuales el 20 por ciento del código es más costoso en términos de recursos del sistema y se centran en la optimización de la porción.

Artículos Relacionados