Optimización del rendimiento de la página de inicio, optimización del algoritmo de prueba de rendimiento, plataforma de prueba continua de código abierto MeterSphere versión v2.10.5 LTS

inserte la descripción de la imagen aquí
El 7 de agosto de 2023, la plataforma integral de pruebas continuas de código abierto de MeterSphere lanzó oficialmente la versión v2.10.5 LTS. Desde el lanzamiento de la versión v2.10 LTS en mayo de 2023, el equipo del proyecto de código abierto de MeterSphere ha insistido en lanzar versiones pequeñas cada dos semanas, reparar y actualizar problemas continuamente y optimizar algunas funciones.

La versión MeterSphere v2.10.5 LTS lanzada esta vez ha llevado a cabo actualizaciones y optimizaciones clave en términos de rendimiento de la página de inicio, algoritmos de prueba de rendimiento, permisos de interfaz de back-end y experiencia de operación de alta frecuencia, brindando a los usuarios una mejor experiencia. usuarios de la comunidad para actualizar y usar.

Optimización del rendimiento de la página de inicio

Anteriormente, algunos usuarios de la comunidad informaron que algunas páginas de la plataforma MeterSphere, especialmente la página de inicio de cada módulo, se cargaban lentamente. La razón principal es que el paquete de recursos de front-end tiene un tamaño relativamente grande, la página de inicio está completamente cargada con recursos que superan los 30 MB y el tamaño de los recursos de JavaScript individuales es cercano a los 3 MB. En respuesta a los comentarios de los usuarios, la versión V2 de MeterSphere ha optimizado de forma concentrada el rendimiento de front-end de las siguientes maneras y lo ha lanzado en la versión LTS v2.10.2. El contenido optimizado incluye:

■ División de paquetes: use webpack-bundle-analyzer para crear el producto para el análisis y desensamblar el paquete;

■ Extracción de bibliotecas públicas: extraiga recursos compartidos en bibliotecas públicas para reducir el empaquetado repetido al empaquetar módulos de aplicaciones;

■ Uso compartido de caché: coloque los recursos de la biblioteca pública en un directorio unificado, y cada aplicación de módulo utiliza un enlace externo para importar el mismo recurso, aprovechando al máximo la estrategia de caché HTTP para reducir la carga repetida;

■ Simplificación del cuerpo del paquete: algunos recursos de npm se modifican para importar según demanda, lo que reduce la introducción de código inútil;

■Carga dinámica: algunos complementos de terceros son relativamente grandes, como PDF y ECharts, que se usan en algunas páginas, no en todas. Esta parte se ha dividido, no se introdujo directamente en main.js, pero se cargó dinámicamente cuando se usa.

Después de estas medidas de optimización front-end, el efecto de optimización del rendimiento de la plataforma MeterSphere es obvio. Después de la optimización, el tamaño de archivo del paquete más grande también está dentro de los 330 KB, el tamaño general de los recursos de carga se reduce en más del 60 % y el tiempo de carga completo. se reduce de 20 s a unos 7,5 s.

Comparación antes y después de la optimización:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Optimización de algoritmos de pruebas de rendimiento

El módulo de prueba de rendimiento de la versión de código abierto de MeterSphere se procesa de la misma manera que JMeter, pero en el caso de alta concurrencia, especialmente pruebas distribuidas de múltiples nodos, los datos de prueba de presión son diferentes a los de JMeter ejecutándose localmente. En respuesta a esta situación, MeterSphere Enterprise Edition llevó a cabo una optimización de algoritmo especial, que alcanzó el mismo nivel que JMeter nativo en términos de precisión de datos de prueba y rendimiento en tiempo real. En comparación con el escenario de prueba de nodos de prueba duales que acceden a Nginx, los resultados de prueba de MeterSphere Enterprise Edition y JMeter native son casi iguales.

Los resultados de la prueba de JMeter se comparan con los resultados de la prueba de MeterSphere Enterprise Edition de la siguiente manera:
inserte la descripción de la imagen aquí

Además de la optimización de algoritmos, MeterSphere Enterprise Edition también admite grupos de recursos de Kubernetes. Al realizar una tarea de prueba de rendimiento, la plataforma llama a la API de Kubernetes para crear rápidamente un trabajo de prueba de rendimiento correspondiente. Después de ejecutar la prueba, los recursos correspondientes se recuperan automáticamente y los grupos de recursos utilizados por diferentes equipos se distinguen para evitar la influencia mutua. Al mismo tiempo, MeterSphere Enterprise Edition brinda servicios profesionales originales de fábrica, brindando a los clientes análisis de demanda de prueba de presión de prueba de rendimiento, diseño de modelo de tráfico y servicios expertos de prueba de rendimiento, como construcción, ejecución, análisis y optimización de entornos de prueba de presión distribuidos.

Aumento de las llamadas a la API de back-end

Requiere permisos

El equipo de diseño de productos de la plataforma de prueba continua de código abierto de MeterSphere otorga gran importancia a la seguridad, flexibilidad y mantenibilidad del producto.

Desde MeterSphere v2.10.2 LTS, todas las llamadas a la API de back-end se agregaron con la verificación "Requiere permisos". Al agregar el paso de verificación "Requiere permisos" en la llamada a la API, se puede garantizar que solo los usuarios o roles con los permisos correspondientes puedan acceder y ejecutar la API, protegiendo de manera efectiva los datos confidenciales y las funciones del sistema y evitando el acceso y las operaciones no autorizados.

Este diseño también mejora la capacidad de mantenimiento del sistema. Cuando el sistema necesita ajustar o actualizar los permisos, solo se deben modificar los permisos correspondientes sin cambiar el código API en sí, lo que reduce la complejidad del mantenimiento y las actualizaciones del sistema.

Los usuarios pueden personalizar si el acceso a la URL de Swagger de MeterSphere requiere autenticación de autorización, es decir, modificar la siguiente configuración en docker-compose-gateway.yml para controlar si se requiere autenticación.

■SWAGGER_ENABLED: falso

Optimización de la experiencia de la función de operación de alta frecuencia

■ Seguimiento de pruebas: optimización de la experiencia del caso de prueba de la función de ejecución del plan de prueba (pasos de operación simplificados);

■ Prueba de interfaz: nueva optimización de casos de interfaz (pasos de operación simplificados);

■ Prueba de interfaz: el método de aserción de interfaz admite la aserción XPath del cuerpo de la respuesta en formato HTML;

■ Pruebas de interfaz de usuario: optimización del rendimiento de carga del paso de automatización de escena de interfaz de usuario;

■ Funciones generales: cada módulo funcional del sistema cancela la restricción de 8 niveles del árbol de módulos;

■ Funciones comunes: la búsqueda avanzada admite la búsqueda a través de campos personalizados.

Supongo que te gusta

Origin blog.csdn.net/FIT2CLOUD/article/details/132149029
Recomendado
Clasificación