フロントエンド ページのパフォーマンスの最適化、パフォーマンス テスト アルゴリズムの最適化、MeterSphere オープン ソースの継続的テスト プラットフォーム v2.10.5 LTS リリース

ここに画像の説明を挿入
2023 年 8 月 7 日、MeterSphere のワンストップ オープンソース継続的テスト プラットフォームは v2.10.5 LTS バージョンを正式にリリースしました。2023 年 5 月に v2.10 LTS バージョンがリリースされて以来、MeterSphere オープンソース プロジェクト チームは、2 週間ごとに小規模バージョンをリリースし、問題を継続的に修復および更新し、一部の機能を最適化することを主張してきました。

今回リリースされた MeterSphere v2.10.5 LTS バージョンでは、フロントエンド ページのパフォーマンス、パフォーマンス テスト アルゴリズム、バックエンド インターフェイスの権限、高頻度の操作エクスペリエンスに関して主要なアップグレードと最適化が行われ、ユーザーのエクスペリエンスが向上しました。コミュニティ ユーザーがアップグレードして使用できます。

フロントエンドページのパフォーマンスの最適化

以前、一部のコミュニティ ユーザーは、MeterSphere プラットフォームの一部のページ、特に各モジュールのホームページの読み込みが遅いと報告していました。主な理由は、フロントエンド リソース パッケージのサイズが比較的大きく、ホームページには 30 MB を超えるリソースが完全に読み込まれ、個々の JavaScript リソースのサイズが 3 MB に近いためです。MeterSphere V2 版は、ユーザーからのフィードバックに応え、以下の方法でフロントエンドのパフォーマンスを集中的に最適化し、v2.10.2 LTS 版としてリリースしました。

■ バンドル分割: webpack-bundle-analyzer を使用して分析用の製品を構築し、パッケージを逆アセンブルします。

■パブリック ライブラリの抽出: アプリケーション モジュールをパッケージ化するときに、共有リソースをパブリック ライブラリに抽出して、パッケージ化の繰り返しを削減します。

■キャッシュ共有: パブリック ライブラリのリソースを統一ディレクトリに配置し、各モジュール アプリケーションは外部リンクを使用して同じリソースをインポートし、HTTP キャッシュ戦略を最大限に活用して繰り返しロードを削減します。

■ パッケージ本体の簡素化: 一部の npm リソースがオンデマンドでインポートされるように変更され、無駄なコードの導入が削減されます。

■動的読み込み: PDF や ECharts など、一部のサードパーティ プラグインは比較的サイズが大きく、すべてのページではなく一部のページで使用されます。この部分は分割されており、main.js に直接導入されるのではなく、使用時に動的に読み込まれます。

これらのフロントエンド最適化策の後、MeterSphere プラットフォームのパフォーマンス最適化効果は明ら​​かで、最適化後の最大パッケージ ファイル サイズも 330KB 以内になり、全体的なロード リソース サイズが 60% 以上削減され、フル ロード時間は短縮されました。は 20 秒から約 7.5 秒に短縮されます。

最適化前後の比較:
ここに画像の説明を挿入
ここに画像の説明を挿入

パフォーマンステストアルゴリズムの最適化

MeterSphere オープン ソース バージョンのパフォーマンス テスト モジュールは JMeter と同じ方法で処理されますが、同時実行性が高い場合、特に分散マルチノード テストの場合、圧力テスト データはローカルで実行されている JMeter のデータとは異なります。この状況に対応して、MeterSphere Enterprise Edition は特別なアルゴリズムの最適化を実行し、テスト データの精度とリアルタイム パフォーマンスの点でネイティブ JMeter と同等のレベルに達しました。Nginx にアクセスするデュアル テスト ノードのテスト シナリオと比較すると、MeterSphere Enterprise Edition と JMeter ネイティブのテスト結果はほぼ同じです。

JMeter のテスト結果は、次のように MeterSphere Enterprise Edition のテスト結果と比較されます。
ここに画像の説明を挿入

アルゴリズムの最適化に加えて、MeterSphere Enterprise Edition は Kubernetes リソース プールもサポートします。パフォーマンス テスト タスクを実行するとき、プラットフォームは Kubernetes API を呼び出して、対応するパフォーマンス テスト ジョブを迅速に作成します。テストの実行後、対応するリソースは自動的に回復され、相互影響を避けるために異なるチームが使用するリソース プールが区別されます。同時にMeterSphere Enterprise Editionは、独自のファクトリープロフェッショナルサービスを提供し、性能試験圧力試験需要分析、交通モデル設計、分散型圧力試験環境の構築、実行、分析、最適化などの性能試験エキスパートサービスを顧客に提供する。

バックエンド API 呼び出しの増加

権限が必要です

MeterSphere オープンソースの継続的テスト プラットフォームの製品設計チームは、製品のセキュリティ、柔軟性、保守性を非常に重視しています。

MeterSphere v2.10.2 LTS 以降、すべてのバックエンド API 呼び出しに「Requires Permissions」(許可が必要)検証が追加されました。API 呼び出しに「権限が必要」検証ステップを追加することで、対応する権限を持つユーザーまたはロールのみが API にアクセスして実行できるようになり、システムの機密データと機能が効果的に保護され、不正なアクセスや操作が防止されます。

この設計により、システムの保守性も向上し、システムで権限を調整または更新する必要がある場合、API コード自体を変更することなく、対応する権限のみを変更する必要があるため、システムの保守とアップグレードの複雑さが軽減されます。

ユーザーは、MeterSphere の Swagger URL へのアクセスに認可認証が必要かどうかをカスタマイズできます。つまり、docker-compose-gateway.yml 内の次の構成を変更して、認証が必要かどうかを制御できます。

■SWAGGER_ENABLED: false

高頻度操作機能のエクスペリエンス最適化

■ テスト追跡: テスト計画実行機能、テスト ケース エクスペリエンスの最適化 (操作手順の簡素化)。

■ インターフェイス テスト: 新しいインターフェイス ケースの最適化 (操作手順の簡素化)。

■ インターフェイス テスト: インターフェイス アサーション メソッドは、HTML 形式の応答本文の XPath アサーションをサポートします。

■ UI テスト: UI シーンの自動化ステップ読み込みパフォーマンスの最適化。

■ 一般機能: システムの各機能モジュールは、モジュール ツリーの 8 レベルの制限を解除します。

■ 共通機能: 詳細検索では、カスタム フィールドによる検索がサポートされています。

おすすめ

転載: blog.csdn.net/FIT2CLOUD/article/details/132149029