test stress rendimiento pruebas online oficial jmeter4 features java java-ee testing load-testing performance-testing

java - stress - jmeter pruebas de rendimiento



Pruebas de Performance/Stress Testing Java EE (3)

Hay principalmente dos enfoques para el rendimiento en una aplicación:

Prueba de rendimiento y prueba del sistema

¿Cómo difieren? Bueno, es fácil, se basa en su alcance, el alcance de las pruebas de rendimiento es limitado y son muy poco realistas. Ejemplo: pruebe el controlador IncomingMessage en alguna aplicación X, para esto debe configurar una prueba que envíe meesages a este manejador en una base X, Y, Z. Este enfoque lo ayudará a identificar problemas y medir el rendimiento de zonas individuales y limitadas en su aplicación.

Entonces, esto debería llevarlo ahora a la pregunta, ¿así que voy a hacer un benchmark y a probar cada uno de los componentes de mi aplicación individualmente? Sí, si crees que el comportamiento del componente es crítico y los cambios en las versiones más nuevas pueden provocar penalizaciones en el rendimiento. Pero, si desea conocer su aplicación en su conjunto, el conjunto de componentes que interactúan entre sí y ver cómo sale el rendimiento, entonces necesita una prueba del sistema.

Una prueba del sistema siempre intentará replicar lo más cerca posible de cualquier entorno de producción del cliente. Aquí puede observar cómo se siente el mundo real del rendimiento de su aplicación y actuar en consecuencia para corregirlo.

Por lo tanto, como conclusión, configure una prueba del sistema en su aplicación y mida lo que estaba diciendo que quería medir. Luego, enfatiza el sistema como un todo y observa cómo reacciona, te sorprenderá el resultado.

Finalmente, Performance prueba individualmente cualquier componente crítico que hayas identificado o te gustaría seguir en tu aplicación.

Como regla general, al realizar el rendimiento siempre debe: 1.- Obtener una línea de base para el sistema en estado inactivo. 2.- Obtenga una línea base para el sistema bajo la carga normal esperada. 3.- Obtener una línea de base para el sistema bajo condiciones de estrés.

Tenga en cuenta que los resultados de carga normal se deben extrapolar a las condiciones de tensión, y un buen sistema siempre será aquel que se escale linealmente.

Espero que esto ayude.

Las pruebas de PS, la configuración del entorno e incluso la recopilación de datos deben ser tan automatizadas como sea posible, esto le ayudará a ejecutar esto en base y perder tiempo diagnosticando problemas de rendimiento y no configurando la prueba.

Es difícil encontrar todos los cuellos de botella, interbloqueos y fugas de memoria en una aplicación Java utilizando únicamente pruebas unitarias.

Me gustaría agregar algún nivel de prueba de estrés para mi aplicación. Quiero probar los límites de la aplicación y determinar cómo reacciona a alta carga.

Me gustaría evaluar lo siguiente:

  • Disponibilidad bajo alta carga
  • Rendimiento bajo alta carga
  • Uso de memoria / CPU / disco bajo alta carga
  • Se cuelga a mucha carga o reacciona con gracia

También sería interesante medir y contrastar tales características bajo carga normal.

Son sus técnicas estándar bien conocidas para abordar las pruebas de estrés. Estoy buscando ayuda / dirección en la creación de dicho entorno. Idealmente, me gustaría ejecutar estas pruebas regularmente, para poder determinar si las entregas recientes afectan el rendimiento.


Soy un gran admirador de JMeter . Puede configurar las llamadas directamente en el servidor tal como lo harían los usuarios. Puede controlar la cantidad de usuarios (hilos concurrentes) y accesos. Puede seguir un flujo de trabajo, raspando página de información pertinente a la página. Se tarda de 1 a 2 días en aprenderlo lo suficientemente bien como para ser productivo. (¡Puedes hacer lo básico una hora después de la descarga!)

En cuanto a ver cómo todo eso afecta al servidor, esa es una pregunta más difícil. He usado herramientas profesionales de CA e IBM. (Estoy dejando en blanco los nombres de las herramientas específicas, ¡quizás debido a PTSD!) He utilizado perfiladores de JVM listos para usar. He usado herramientas nativas de Linux y Windows. Si no está demasiado preocupado por el perfil de las partes de su aplicación que causan problemas, entonces puede usar las herramientas nativas para su sistema operativo para monitorear la CPU / memoria / IO.