2008-09-03 16 views

Respuesta

7

Utilice alguna herramienta para realizar pruebas de esfuerzo y carga. Si está utilizando Java, eche un vistazo al JMeter. Proporciona diferentes métodos para probar el rendimiento de la aplicación. Usted debe centrarse en:

  • Tiempo de respuesta: ¿Qué tan rápido se ejecuta la aplicación para las solicitudes normales. Pruebe algunos casos de uso de lectura/escritura
  • Prueba de carga: cómo se comporta su aplicación en tiempos de mucho tráfico. La herramienta presentará varias solicitudes (puede configurarlas correctamente) durante un período de tiempo.
  • Prueba de tensión: ¿Su aplicación puede funcionar durante un largo período de tiempo? Esta prueba llevará su aplicación a los límites

Comience con esto, si le interesa, hay otros tipos de pruebas.

3

Para probar el front-end, YSlow es ideal para obtener estadísticas de cuánto tiempo tardan sus páginas en cargarse desde la perspectiva del usuario. Se divide en estadísticas para cada solicitud de HTTP específico, el tiempo que tomó, etc. Obténgalo en http://developer.yahoo.com/yslow/

Firebug, por supuesto, también es esencial. Puede crear un perfil de su JS explícitamente o en tiempo real presionando el botón de perfil. Haciendo optimizaciones donde sea necesario y viendo cuánto tardan en ejecutarse todas tus funciones. Esto cambió la forma en que mido el rendimiento de mi código JS. http://getfirebug.com/js.html

3

Realmente la gran cosa que creo que es el tiempo de respuesta, pero otros indicadores que vería son el uso del procesador y la memoria frente a la cantidad de usuarios/procesos simultáneos. También verificaría que todo funcione como se espera en condiciones normales y luego en la carga máxima. Es posible que encuentre escenarios en los que la carga más alta ocasione errores de aplicación debido a varias solicitudes que se pisan entre sí.

Si realmente desea obtener información detallada, querrá ejecutar diferentes tipos de pruebas de carga/estrés. Probablemente desee ver una prueba de carga por pasos (un aumento gradual de usuarios en el sistema a lo largo del tiempo) y una prueba de picos (un número significativo de usuarios todos accediendo al mismo tiempo donde casi nadie estaba accediendo). También ejecutaría pruebas contra el servidor justo después de que se haya reiniciado para ver cómo afecta eso al sistema.

También es probable que desee ver un concepto llamado HEAT (prueba de aplicación de entorno hostil). Realmente esto muestra lo que sucede cuando una parte del sistema se desconecta. ¿El sistema se degrada con éxito? Esto debería ser un estándar clave.

Mi única gran sugerencia es establecer qué se supone que debe hacer el sistema antes de realizar las pruebas. La razón principal es la responsabilidad. Haga que la gente admita que el sistema debe hacer algo y luego pruebe para ver si es cierto. Esto es clave porque las personas verán los resultados de inmediato y ese será el punto de referencia básico para lo que es aceptable.

3

"Específicamente, tengo que determinar el rendimiento de la aplicación ...."

Esto cierra el círculo a la cuestión de las necesidades, las expectativas capturados de su comunidad de usuarios para lo que se considera razonable y eficaz. Requisitos tienen una serie de componentes

  1. Tiempo de respuesta general," Bajo una carga de .... El Sitio tendrá un tiempo de respuesta general de menos de x, y% del tiempo ... "
  2. Tiempos de respuesta específicos," Bajo una carga de .... El procesamiento de la tarjeta de crédito tomará menos de z segundos, un% del tiempo ... "
  3. Elementos de capacidad del sistema," Con una carga de ... CPU | Red | RAM | DISCO no debe exceder n% de la capacidad .... "
  4. El perfil de carga, que es la combinación de la cantidad de usuarios y las transacciones que tendrán lugar en virtud del cual se recopilan las medidas específicas, objetivas, para determinar el rendimiento del sistema.

Notarás que los tiempos de respuesta y otras medidas no son absolutas. Tomando una página de seis sigma Manufacturing Principles, el costo de pasar de una excepción en un millón a una excepción en mil millones es extraordinaria y el costo para pasar a cero excepciones es generalmente un costo que no soporta la organización promedio. Lo que se considera un tiempo de respuesta aceptable para una aplicación única para su organización probablemente será completamente diferente de una oferta altamente comoditizada que es una aplicación pública de Internet. Para las soluciones altamente competitivas, las expectativas de tiempo de respuesta en Internet tienden hacia el rango de 2-3 segundos donde el abandono del usuario aumenta severamente. Esto ha disminuido en la última década de 8 segundos a 4 segundos y ahora en el rango de 2-3 segundos. Algunas aplicaciones, como Facebook, disparan para tiempos de respuesta casi imperceptibles en el rango de un segundo por razones de competencia. Si buscas un estándar difícil, simplemente no existen.

Algo que ayudará a su comprensión es leer a través de un par de puntos de referencia de la industria de estilo, forma, función.

La creación de un sólido conjunto de pruebas de rendimiento que representa sus necesidades es un asunto no trivial. Es posible que desee contratar a un especialista para manejar esta fase de sus esfuerzos de control de calidad.

En su selección de la herramienta, asegúrese de obtener uno que puede

  • ejercicio de su interfaz
  • informe con respecto a sus necesidades
  • Usted o su equipo tiene las habilidades para utilizar
  • Puede obtener entrenando y asistirá con la bendición de la administración

Fallo de encendido en cualquiera de los cuatro elementos anteriores y También ha comprado la herramienta más cara del mercado y ha contratado a la empresa más cara para implementarla.

¡Buena suerte!

Cuestiones relacionadas