Otimização de desempenho de página de front-end, otimização de algoritmo de teste de desempenho, plataforma de teste contínuo de código aberto MeterSphere versão v2.10.5 LTS

insira a descrição da imagem aqui
Em 7 de agosto de 2023, a plataforma de teste contínuo de código aberto completa da MeterSphere lançou oficialmente a versão v2.10.5 LTS. Desde o lançamento da versão v2.10 LTS em maio de 2023, a equipe do projeto de código aberto MeterSphere tem insistido em lançar pequenas versões a cada duas semanas, reparando e atualizando problemas continuamente e otimizando algumas funções.

A versão MeterSphere v2.10.5 LTS lançada desta vez realizou atualizações e otimizações importantes em termos de desempenho de página de front-end, algoritmos de teste de desempenho, permissões de interface de back-end e experiência de operação de alta frequência, trazendo uma melhor experiência aos usuários. usuários da comunidade para atualizar e usar.

Otimização de desempenho da página de front-end

Anteriormente, alguns usuários da comunidade relataram que algumas páginas da plataforma MeterSphere, principalmente a página inicial de cada módulo, eram carregadas lentamente. O principal motivo é que o pacote de recursos front-end é relativamente grande em tamanho, a página inicial carrega totalmente mais de 30 MB de recursos e o tamanho dos recursos JavaScript individuais é próximo a 3 MB. Em resposta ao feedback do usuário, a versão MeterSphere V2 otimizou de forma concentrada o desempenho do front-end das seguintes maneiras e lançou-o na versão v2.10.2 LTS. O conteúdo otimizado inclui:

■ Divisão de pacote: use webpack-bundle-analyzer para construir o produto para análise e desmonte o pacote;

■Extração de biblioteca pública: extraia recursos compartilhados em bibliotecas públicas para reduzir o empacotamento repetido ao empacotar módulos de aplicativos;

■Compartilhamento de cache: coloque os recursos da biblioteca pública em um diretório unificado, e cada aplicativo do módulo usa um link externo para importar o mesmo recurso, fazendo pleno uso da estratégia de cache HTTP para reduzir o carregamento repetido;

■ Simplificação do corpo do pacote: alguns recursos do npm são modificados para importar sob demanda, reduzindo a introdução de código inútil;

■Carregamento dinâmico: alguns plug-ins de terceiros são relativamente grandes, como PDF e ECharts, que são usados ​​em algumas páginas, não em todas as páginas. Esta parte foi dividida, não introduzida diretamente no main.js, mas carregada dinamicamente quando usada.

Após essas medidas de otimização de front-end, o efeito de otimização de desempenho da plataforma MeterSphere é óbvio. Após a otimização, o maior tamanho de arquivo de pacote também está dentro de 330 KB, o tamanho geral do recurso de carregamento é reduzido em mais de 60% e o tempo de carregamento total é reduzido de 20s para cerca de 7,5s.

Comparação antes e depois da otimização:
insira a descrição da imagem aqui
insira a descrição da imagem aqui

Otimização do algoritmo de teste de desempenho

O módulo de teste de desempenho da versão open source do MeterSphere é processado da mesma forma que o JMeter, mas no caso de alta simultaneidade, especialmente testes de vários nós distribuídos, os dados do teste de pressão são diferentes dos do JMeter executado localmente. Em resposta a esta situação, o MeterSphere Enterprise Edition realizou uma otimização de algoritmo especial, que atingiu o mesmo nível do JMeter nativo em termos de precisão de dados de teste e desempenho em tempo real. Em comparação com o cenário de teste de nós de teste duplos acessando o Nginx, os resultados do teste do MeterSphere Enterprise Edition e do JMeter nativo são quase os mesmos.

Os resultados do teste JMeter são comparados com os resultados do teste MeterSphere Enterprise Edition da seguinte forma:
insira a descrição da imagem aqui

Além da otimização de algoritmo, o MeterSphere Enterprise Edition também oferece suporte a pools de recursos do Kubernetes. Ao executar uma tarefa de teste de desempenho, a plataforma chama a API do Kubernetes para criar rapidamente um trabalho de teste de desempenho correspondente. Após a execução do teste, os recursos correspondentes são recuperados automaticamente e os pools de recursos usados ​​por diferentes equipes são diferenciados para evitar influência mútua. Ao mesmo tempo, o MeterSphere Enterprise Edition fornece serviços profissionais originais de fábrica, fornecendo aos clientes análise de demanda de teste de pressão de teste de desempenho, design de modelo de tráfego e serviços especializados de teste de desempenho, como construção, execução, análise e otimização de ambientes de teste de pressão distribuídos.

Aumento de chamadas de API de back-end

Requer permissões

A equipe de design de produto da plataforma de teste contínuo de código aberto MeterSphere atribui grande importância à segurança, flexibilidade e capacidade de manutenção do produto.

Desde o MeterSphere v2.10.2 LTS, todas as chamadas de API de back-end foram adicionadas com a verificação "Requires Permissions". Ao adicionar a etapa de verificação "Requer permissões" na chamada da API, pode-se garantir que apenas usuários ou funções com as permissões correspondentes possam acessar e executar a API, protegendo efetivamente os dados e funções confidenciais do sistema e impedindo o acesso e as operações não autorizadas.

Esse design também melhora a manutenibilidade do sistema.Quando o sistema precisa ajustar ou atualizar as permissões, apenas as permissões correspondentes precisam ser modificadas sem alterar o próprio código da API, reduzindo assim a complexidade da manutenção e atualizações do sistema.

Os usuários podem personalizar se o acesso ao URL Swagger do MeterSphere requer autenticação de autorização, ou seja, modificar a configuração a seguir em docker-compose-gateway.yml para controlar se a autenticação é necessária.

■SWAGGER_ENABLED: falso

Otimização da experiência da função de operação de alta frequência

■ Rastreamento de teste: otimização da experiência do caso de teste da função de execução do plano de teste (etapas de operação simplificadas);

■ Teste de interface: nova otimização de caso de interface (etapas de operação simplificadas);

■ Teste de interface: o método de asserção de interface oferece suporte a asserção XPath do corpo da resposta no formato HTML;

■ Teste de interface do usuário: otimização de desempenho de carregamento da etapa de automação da cena da interface do usuário;

■ Funções gerais: cada módulo funcional do sistema cancela a restrição de 8 níveis da árvore de módulos;

■ Recursos comuns: A pesquisa avançada oferece suporte à pesquisa em campos personalizados.

Acho que você gosta

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