Linuxベースのパフォーマンステストツール

Linuxベースのパフォーマンステストツール

序章

パフォーマンス テストの過程で、多くのパフォーマンス取得ツールが検討されましたが、ビジネスの一部の機能が一致しないため、テストのコストが依然として大幅に増加したため、テスト チームは現在の業務に適したパフォーマンス テスト ツールを開発することにしました。テストチームは業務外の時間を利用してトレーニング、機能設計、開発などを実施し、最終ツールが完成しました 現在のツールはオープンアーキテクチャとなっており、後から機能モジュールを追加することも可能です

技術紹介

このプロジェクトは、基本言語として python3.7 を使用し、pyqt5 と BeautifulReport (リファクタリング) を組み合わせた構造で、UI インターフェイスを関数コードから分離し、各ポップアップ ダイアログを分離し、継承を通じてメイン ウィンドウと対話します。操作をメインファイル内に配置し、UI、機能、操作を独立させます。

工学構造

ここに画像の説明を挿入

環境構築

組み込みのPython環境はユーザーのホスト環境に依存しないため、特別に環境を構築する必要はありません。
ここに画像の説明を挿入

リファレンスライブラリ

PyQt5、traceback、paramiko、threading、datetime、time、os、sys、re、socket、pynput、ctypes、inspect、json。

UI構成

UIインターフェース本体はPyQt5をコアとして構築されており、シグナルは組み込み関数(toggled.connect)を通じてスロット関数にバインドされています。ここに画像の説明を挿入

設定ファイルの構成

ユーザーの操作習慣は構成ファイルを通じて記録され、ツール構成ダイアログが提供され、ツール内の変数をユーザーの目の前に視覚的に表示します。
設定ファイルはユーザーの操作記録と初期化データに分かれており、ユーザーの操作記録の設定をiniファイルに格納し、初期化データをconfig.pyに格納することで、ツールの初期化時の実行時間を短縮しています。
ここに画像の説明を挿入

レポートの構造

レポートはテンプレート ファイルを読み取り、生成場所を指定し、アルゴリズムによって取得されたデータをテンプレートに埋め込み、最終的にレポート ファイルを形成します。ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

特徴

パフォーマンス収集、複数のログ送信モード、パフォーマンス パラメータ計算、パフォーマンスしきい値アラーム、CPU ピーク EPS 推定、時限タスク、スクリーンショット、パフォーマンス自動テスト、テキスト変換ツール、パフォーマンス レポートの自動生成、システム設定などを統合したパフォーマンス テスト ツール機能やツールモジュールを個別に取り出して独立したツールとして構成することができます。

メインインターフェース

ここに画像の説明を挿入

パフォーマンス収集-設定

パフォーマンス収集の前に、最初にアラームしきい値を設定する必要があります。デフォルトは 0% で、収集された CPU およびメモリ使用量が 0% を超えると、パフォーマンス アラーム メッセージが生成されます。アラームしきい値は、プログレスバーが表示され、最大値は 99.% です。
ここに画像の説明を挿入

新しい接続

新しい接続を作成するには、メニュー バーで [新規]-[新しい接続] をクリックすると、新しい接続を作成するためのインターフェイスがポップアップ表示されます。
ここに画像の説明を挿入
収集するホストの IP、ポート、アカウント、パスワードを入力し、テスト ボタンをクリックします。失敗した場合は、接続が失敗したことを示すメッセージが表示されます。成功した場合は、テストが成功したことを示すメッセージが表示されます。テストが完了したら、成功したら「保存」をクリックすると、収集実行時に今回設定したマシン情報が収集され、同時に新規作成した接続情報もシステム設定に同期されます。
ここに画像の説明を挿入

ログ送信

システム欄にログ送信のチェックボックスがあり、このチェックボックスをチェックすると、収集実行時にローカルマシンをソースとしたログがUDP経由で新しく接続したIPに送信されます。
ログ送信は、1. 固定送信レート、2. インターバル送信レート、3. 指定送信レートの 3 つのモードをサポートします。
ここに画像の説明を挿入

固定送信レート

固定送信レートがチェックされている場合、ユーザーはプログレス バーを手動でスライドさせて固定送信レートを最大 20000 まで設定できます。たとえば、プログレス バーを 3000 の位置までドラッグすると、送信レートが 1 秒あたり 3000 で継続されることを意味します。 。
ここに画像の説明を挿入

インターバル送信速度

間隔送信レートを確認し、ユーザーは初期送信レートと終了送信レートを選択します。最小値は 1000、最大値は 20000 です。例: 初期送信レートは 1000、終了送信レートは次のように選択されます。 20000 は、1000 から始まり、10 秒間 100 ずつ増加し、送信が 20000 に達するまで自動的に停止します。システム欄の連続送信にチェックを入れると、送信レートが 20000 に達すると、送信が停止します。手動終了またはスケジュールされたタスクの開始が終了するまで停止しません。
ここに画像の説明を挿入
ここに画像の説明を挿入

送信レートを指定する

指定した送信レートを選択すると、入力ボックスが強調表示されて入力可能になり、入力形式は英語のカンマで区切られます。例: [1000,2000,3000] と入力すると、1000 に従って送信されます。 2000回、3000回と10秒ずつ送信します 3000回の送信が完了すると送信ログは終了します システム欄の連続送信にチェックが入っている場合、送信レートが3000回に達すると送信ログは終了します手動終了またはスケジュールされたタスクの開始が終了するまで停止します。
ここに画像の説明を挿入

定時終了

[終了タスク時間を設定する] チェックボックスをオンにして、実行前に時間が正当であるかどうかを確認し、対応するプロンプトを表示します。終了時間がトリガーされると、パフォーマンスの収集とログの送信が停止します。
ここに画像の説明を挿入

システム設定

システム設定エントリはメニューバーにあります - 設定、設定をクリックして設定ポップアップボックスをポップアップ表示します。システム設定は新しい接続、ツールUI、ファイルパス、送信設定に分かれており、保存、キャンセルなどの機能があります。 、復元、テスト。
システム設定のテスト ボタンは、新しい接続の原則と一致しており、コレクション IP が接続できるかどうかをテストし、次回ツールを実行したときにウィンドウ ステータスの背景色が有効になります。
ここに画像の説明を挿入

動作位置

実行は 2 か所で確認できます。1 つ目はシステム バーのスタート ボタン、2 つ目はメニュー バーの実行コントロール - 実行です。
ここに画像の説明を挿入

走る前に

実行する前に、正しい収集 IP、ポート、アカウント、パスワード、その他の構成項目を構成し、CPU とメモリのアラームしきい値を設定し、ログを送信するかどうかを選択し、以前の設定を参照する必要があります。
ここに画像の説明を挿入

操作を開始する

操作が開始されると、システム バーに実行ステータスが表示されます。例: 構成の読み取り、データの並べ替え、実行の開始、送信の失敗、パフォーマンスの収集は正常、ログの送信の失敗など。
ここに画像の説明を挿入
ここに画像の説明を挿入

パフォーマンス曲線

パフォーマンスの収集を開始すると、ツールの中央領域に曲線の変動が表示され、青の線が CPU の変動、緑の線がメモリの変動の状態を示します。
ここに画像の説明を挿入

パフォーマンス収集 - アラームの詳細

しきい値を設定します 収集したパフォーマンスデータの占有率がこのしきい値を超えた場合にアラームが発生します アラーム詳細をクリックすると、アラーム発生時刻、CPU情報、メモリ情報、CPU詳細情報、メモリ詳細が表示されます情報、SWAP情報、プロセス情報などの上位10位までのデータをリスト形式で表示します。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

パフォーマンス収集 - ピークの詳細

パフォーマンス収集処理では、CPUとメモリのピーク値を計算し、ピーク値が発生した時刻、CPU情報、メモリ情報、CPU詳細情報、メモリなどのデータ情報を取り出して表示します。詳細情報、SWAP情報、プロセス情報など。
ここに画像の説明を挿入

パフォーマンスの自動テスト

メニュー バーの [ツール] - [自動テスト] をクリックすると、プロンプト ボックスが表示されます。ツールの設定により、自動テストが開始されると、テストが完了するまで中断できません (テストは約 15 分間続きます)。
ここに画像の説明を挿入
自動テストは 100EPS から開始され、ログが自動的に送信され、ログの量が増加します。自動テスト中に状態が変化し、テストが完了して最終的にレポートが作成されるまで、ツールのパフォーマンス折れ線グラフが動的に更新されます。生成された。
ここに画像の説明を挿入

パフォーマンスレポート

パフォーマンス収集が完了すると、システム設定で定義されたストレージ レポートの場所に従って、パフォーマンス レポートとパフォーマンス テキストが生成されます。テキストは txt 形式で、レポートは html 形式です。レポートをダブルクリックします。レポートの内容を表示するには、テスト IP、起動時間、CPU ピーク値と詳細、CPU 平均値、メモリ ピーク値と詳細、メモリ平均値、CPU アラーム番号と詳細、送信サイクル、メモリ アラーム番号、および詳細、送信データ総数、CPUMAXEPS、その他のデータ。
ここに画像の説明を挿入
ここに画像の説明を挿入
CPUメモリのピーク値やアラームなど、対応する詳細情報を参照できます。

CPU、メモリのピークの詳細

ここに画像の説明を挿入

CPU およびメモリのアラームの詳細

ここに画像の説明を挿入

全画面表示/非全画面表示

テストツールには全画面表示と全画面表示の解除の機能があります。全画面表示後はウィンドウを閉じることも縮小することもできません。「全画面キャンセル」をクリックすると、全画面表示状態が解除され、全画面表示が解除されます。ウィンドウは閉じたり縮小したりできます。
ここに画像の説明を挿入

スクリーンショット

システム バーで [ツール] - [スクリーンショット ツール] をクリックして現在の画面のキャプチャを開始すると、スクリーンショット インターフェイスが灰色と白に変わり、マウスで領域をドラッグすることでスクリーンショットを取得でき、保存するかキャンセルするかを選択できます。
ここに画像の説明を挿入

テキスト変換ツール

メニュー バーで [ツール] - [テキスト変換ツール] をクリックすると、テキスト変換ツール インターフェイスがポップアップ表示され、インターフェイスには次の内容が含まれます。
元のテキスト入力ボックス。元の文字列を配置するために使用されます。
置換方法リストボックスには、選択したテキストとそれに対応する置換方法が保存されており、簡単に確認できます。
ここに画像の説明を挿入
操作エリアには、時刻の置換に使用する時刻設定、文字内容の置換に使用するテキスト設定、整数、小数、IP の置換に使用する数値設定の 3 種類の設定情報があります。
ここに画像の説明を挿入
テキスト パスを生成します (設定されていない場合、デフォルトは現在のルート ディレクトリになります)。
繰り返しの数、つまり新しく生成されたテキストがドキュメントに挿入される回数。
ここに画像の説明を挿入
置換手順:変換前の原文を
ここに画像の説明を挿入
あらかじめ操作エリアに入力しておきます。置換方法は3通りに分かれているため、置換を選択する前にあらかじめ時刻設定をしておく必要があります
。最初の行は、入力形式に従ってランダムな時間を生成します。チェックされていない場合は、デフォルトの形式 (2021-9-12-1-1) に従って生成されます。時間生成の 2 つのルールをサポートします (1) インターバル時間、開始時刻と終了時刻を入力する必要があり、終了時刻は開始時刻より大きくなければならず、生成されるランダムな時刻は 2 つの時刻の間になります (2) 時刻を定義します。定義された時刻を確認した後、次のことを確認する必要があります。前回と後の時刻 前回にチェックを入れると現在時刻より前の時刻が生成されます ランダムな時刻にチェックを入れると現在時刻以降のランダムな時刻が生成されます 両方にチェックを入れると現在時刻より後のランダムな時刻が生成されます任意の時間がランダムに生成されます。
テキスト設定: 中国語ランダムを選択すると、選択した元のテキストと同じ長さの中国語文字列の文字列が生成されます テキストランダム、英語ランダムを選択すると、選択した元のテキストと同じ長さの英語の文字列の文字列が生成されますアルファベットはランダムで、指定したテキストを選択し、任意の内容を入力すると、入力した内容が選択したテキストと置き換えられます。
数値設定: 任意のランダムな整数を生成するには、[整数ランダム] を選択し、[開始] と [終了] を入力しないでください。それ以外の場合、[開始] と [終了] を入力して間隔内の整数を生成します。10 進数のランダムを選択し、[開始] と [終了] を入力せずに生成します。任意のランダムな 10 進数。それ以外の場合、Start と End を入力すると間隔内の 10 進数が生成され、ランダム IP が選択された場合はランダムな IP アドレスが生成されます。
ここに画像の説明を挿入
元のテキスト文字列内の任意のセグメントを選択し、右クリックして置換方法を選択します。
ここに画像の説明を挿入
生成されるテキスト パスと繰り返し回数を選択してデフォルト値を設定し、空白のままにすることができます。パスのデフォルトはツールが配置されているルート ディレクトリで、回数のデフォルトは 1 です。
ここに画像の説明を挿入
「抽出」ボタンをクリックして
ここに画像の説明を挿入
ここに画像の説明を挿入
、生成されたテキストを表示します
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

契約ツール

契約送信ツールは、ローカル IP および模擬 IP 送信ログ、UDP 経由の送信をサポートし、送信レートの調整と送信時間の設定をサポートします。
ここに画像の説明を挿入
送信手順: 送信方法を選択し、IP 送信とローカル IP 送信をシミュレートします。シミュレートされた IP は、入力ソース IP アドレスを送信元 IP として使用します。ローカル IP を選択した場合は、現在のコンピュータ IP が送信元として使用されます。送信する IP 、入力された宛先 IP アドレスに送信するには、入力 IP は正当である必要があり、デフォルトの入力ポートは 514 で、変更がサポートされています。
ログを選択し、3 種類のログの選択をサポートします
。 ログの行を送信し、送信したログをドロップダウン ボックスに入力します。 送信するファイルを選択し
、ボタンをクリックして右側のファイルを選択し、新しいファイルで分割します。行を選択した後、文書
を移動して送信するフォルダーを選択し、右をクリックします。横にあるフォルダーの選択ボタンをクリックします。選択後、フォルダー内のテキストが便利です。改行で分割され、文書を移動して送信速度を選択します
。送信回数を入力すると、送信レートはドロップダウンボックスで最大20000EPSまでサポートされますが、ネットワークカード、ハードウェア、その他の要因により、何らかの問題があります実際の状況に応じて、あまり送信できません、複数のコントラクト送信ツールを個別に実行することを選択したり、送信速度を上げることもできます。
バックグラウンドで実行している場合、バックグラウンドで実行中をクリックすると送信ログツールが非表示になり、再度ツール-送信ツールをクリックすると再表示されます。
「実行」をクリックしてログの送信を開始し、実行回数に達すると自動的に送信を停止します。
カウントをリセットします。実行後、送信数量が記録されます。カウントのリセットをクリックすると、送信数量がクリアされ、プログラムは実行を続けます。

バックグラウンドで動作するサポートツール

ここに画像の説明を挿入

ヘルプメニュー

ツールの機能を説明するヘルプ メニューが提供されます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_36616956/article/details/128922247
おすすめ