Al realizar pruebas de rendimiento, es importante comprender el término “concurrente” en lo que se refiere a diferentes aspectos dentro de las pruebas de rendimiento, y a menudo se malinterpreta, lo que hace que algunas medidas significativas se pasen por alto. ¿Alguna vez se pregunta cómo funciona su sitio web en los dispositivos de usuario final? ¿O cómo planea aumentar el tráfico del sitio web? ¿O incluso cómo resolver problemas del sitio web que son aparentemente invisibles pero que afectan a su negocio en general? La respuesta a estas preguntas son las pruebas de rendimiento.
Las pruebas de rendimiento han existido desde siempre, pero evolucionan con nuevas tecnologías todos los días. En esencia, las pruebas de rendimiento se realizan simulando usuarios reales para interactuar con el sitio web utilizando scripts. Estos datos de interacción se capturan y analizan para obtener información sobre diferentes aspectos del rendimiento del sitio web y la aplicación, como el tiempo de respuesta, la accesibilidad, la confiabilidad, el tiempo de actividad, el uso de recursos y la escalabilidad, etc. Las pruebas de rendimiento se realizan para asegurarse de que el sitio web está en un estado estable con criterios de rendimiento y cómo mejorar y escalar cuando surge la necesidad. Más importante aún, proporcionará datos útiles sobre cómo se está desempeñando el sistema bajo cargas de trabajo proyectadas. Las pruebas de rendimiento también descubrirán inconsistencias, ineficiencias y problemas de usabilidad cuando se realizan varias solicitudes simultáneamente.
Problemas y métricas fundamentales de rendimiento
Echemos un vistazo a los problemas de rendimiento que debe corregir como primer paso.
Tiempo de carga
El tiempo de carga de la aplicación es el tiempo necesario para cargar completamente su sitio web, aplicación o una sola página antes de que el usuario pueda realizar cualquier acción. Es fundamental, ya que con cada segundo de retraso, los usuarios se alejan del sitio web, lo que resulta en pérdida de ingresos.
Tiempo de respuesta
El tiempo de respuesta hace referencia a la respuesta del servidor a cualquier actividad o transacción del usuario. Más tiempo de respuesta significa una experiencia frustrante para el usuario.
Utilización de recursos y cuellos de botella
Su sitio web o aplicación debe utilizar los recursos con eficiencia junto con una asignación de recursos manejable cuando hay mucho tráfico o demanda de los recursos. Cualquier recurso como CPU, memoria, red, etc., puede ser un cuello de botella en muchos escenarios, lo que resulta en empan efectuada la aplicación completa.
Escalabilidad
Su sitio web o aplicación debe ser capaz de manejar el tráfico esperado durante la demanda regular o en un evento especial. Si no puede mantener una alta demanda, entonces el problema de escalabilidad deficiente entra en escena que se debe analizar y corregir mediante pruebas de carga.
Escenarios del mundo real
Aparte de estos problemas fundamentales, hay muchos casos de uso específicos del negocio que están directamente relacionados con el rendimiento. Por ejemplo, si tiene una aplicación de trading, mejorar la velocidad del sitio web no es una tarea de una sola vez, por lo que debe reducir de forma proactiva el tiempo de respuesta, incluso unos pocos milisegundos pueden hacer o romper una oportunidad, para evitar cualquier pérdida financiera ya sea para su negocio o sus usuarios.
La lista siguiente consta de algunos parámetros básicos que debe medir, supervisar y analizar durante las pruebas de rendimiento:
- Tiempo de respuesta
- Interrupciones de CPU por segundo
- Longitud de la cola de salida de red
- Bytes de red totales por segundo
- Rendimiento
- Máximo de sesiones activas
- Ratios de aciertos
- Bloqueos de base de datos
- Recolección
- Uso de CPU
- Uso de memoria
- E/S de disco
- Ancho de banda de red
- Páginas de memoria/segundo
- Fallos de página/segundo
- Puntos de referencia HTTP simultáneos
- Usuarios concurrentes
Conexiones HTTP simultáneas frente a navegadores simultáneos frente a usuarios simultáneos
Concurrent HTTP
HTTP concurrente hace referencia a las solicitudes HTTP realizadas en cualquier momento. Por ejemplo, supongamos que hay 10000 usuarios con sesiones válidas y 100 usuarios solicitan leer el mismo recurso a través de HTTP en cualquier momento y, a continuación, tenemos 100 solicitudes HTTP simultáneas.
Concurrent Browsers
Los navegadores simultáneos se refieren al número de navegadores con sesiones válidas en cualquier momento. Pueden enviar cualquier número de solicitudes al servidor en cualquier momento.
Usuarios concurrentes
Los usuarios simultáneos hacen referencia a los usuarios con sesiones válidas con el servidor realizando la misma tarea en cualquier momento.
Por lo general, las personas se confunden con los usuarios simultáneos y los usuarios simultáneos, ya que ambos se usan indistintamente, pero en las pruebas de rendimiento estos dos términos tienen significados diferentes. Echemos un vistazo a un ejemplo:
Supongamos que hay 1.000 usuarios diferentes con una sesión válida con el servidor. Cada uno de estos usuarios está realizando diferentes operaciones como inicio de sesión, pago, mensajería, compras, etc. Estos se denominan usuarios simultáneos, que son esencialmente el número de usuarios con sesiones válidas en el servidor. Ahora, puede suceder que 100 de estos 1000 usuarios están realizando operaciones de desprotección en el mismo punto en el tiempo. Entonces estos 100 usuarios serían usuarios simultáneos. Los usuarios simultáneos suelen ser muy inferiores a los usuarios simultáneos y ocurren con poca frecuencia.
Pruebas de carga: velocidad, escalabilidad y estabilidad
Las pruebas de carga son uno de los tipos más importantes de pruebas de rendimiento para probar el sitio web o la aplicación bajo una carga de alto tráfico. Los datos recopilados de esta prueba se analizan y proyectan para averiguar los problemas que pueden ocurrir cuando un gran número de usuarios reales acceden a su sitio web. Es útil eliminar cuellos de botella y optimizar las transacciones junto con la planificación de la escalabilidad futura de la infraestructura de sitio web/aplicación. Veamos algunos tipos básicos de pruebas de carga, en qué se diferencian y su importancia.
Prueba de carga HTTP
Las pruebas de carga HTTP se realizan normalmente para identificar cuántas solicitudes HTTP simultáneas puede controlar el servidor. También se puede abordar como número máximo de solicitudes por segundo. En un nivel granular, puede haber diferentes tipos de solicitudes, como lectura, escritura, desplazamientos, etc. Descubrir el límite para cada solicitud específica puede darle más información sobre la optimización y la planificación de recursos que necesita hacer. Por ejemplo: el número de solicitudes por segundo puede ser mayor para las solicitudes HTTP de lectura, pero probablemente mucho menos para conmutar solicitudes intensivas.
Prueba de carga de página web
Se realiza una prueba de carga de página web para cualquier tiempo de carga de una sola página. Por ejemplo, si tiene un sitio web de comercio electrónico, desea verificar el tiempo de carga de la página del producto individual, el tiempo de carga de la página del carrito, el tiempo de carga de la página de pago para mejorar y mejorar la experiencia del cliente. Si la carga de la página del producto está bien, pero ignora la optimización en la página del carrito, sin duda resultaría en la pérdida de ventas.
Prueba de carga de aplicaciones web
Se realiza una prueba de carga de aplicaciones web para medir la primera carga de la aplicación web. Es diferente del tiempo de carga de la página donde lo hace para cada otra página individual. Cuando se inicia una aplicación web, extrae diferentes recursos, inicia pocos servicios en todo el sitio, llama a servicios de terceros, etc. antes de que finalmente se cargue. Debe ser su primer enfoque optimizar el tiempo de carga de la aplicación web para evitar la renovación.
Pensamientos finales: HTTP concurrente frente a navegadores simultáneos frente a usuarios simultáneos
Las pruebas de carga son una necesidad que ayuda a los desarrolladores y arquitectos en la optimización y la planificación de recursos. Para las aplicaciones web que esperan picos de tráfico, se vuelve aún más importante. Además de las pruebas de carga, también es importante supervisar regularmente su sitio web o aplicación para la accesibilidad, la velocidad y el tiempo de actividad de los servicios de terceros. No olvide cargar la prueba y supervisar su sitio web o aplicación desde diferentes ubicaciones geográficas para mejorarlo aún más para los usuarios, ya que podrían tener problemas de rendimiento específicos derivados de su ubicación. El uso de una solución como LoadView le permite cargar fácilmente todas sus páginas web, aplicaciones, servicios web, servidores y API, con cientos a miles de conexiones HTTP o navegadores simultáneos.
Pruebe la versión de prueba gratuita de LoadView y reciba pruebas de carga gratuitas. O programe una demostración en vivo con uno de nuestros ingenieros de rendimiento para un recorrido completo por la plataforma LoadView para ver todas las características y beneficios que la plataforma tiene para ofrecer.