黒の羽の圧力測定性能テストツールノヴァ
テキストエディタ:ホワイト・ムーンブラックフェザーティーチパイソン
ビデオを説明します
モチベーション
現在、パフォーマンステストツールを実行するためのAPIインタフェースのための市場にようにJMeterは、LoadRunnerは、AB、イナゴとしています。
ホワイトブラックフェザー使用ヶ月後、私はより便利に、より強力なテストツールを開発することを決めたので、彼らは、自分の長所と短所を持っている感じ。
したがって、このHyLoad、名前の中国のブラックフェザー圧力測定があるでしょう。
機能
ブラックフェザー圧力は、2つの強力な特性の利用のしやすさとパフォーマンスに基づいて、このツールを測定しました。
-
使いやすいです
テストコードテンプレートを生成し、それをクリックして、軽微な変更は、テストすることができます
-
強力なパフォーマンス
スタンドアローン毎秒1万リクエストまで、最大同時接続数万に
ダウンロード
公式サイトの最新バージョンをダウンロードして、こちらをクリックしてください
インストールプロセス
インストールは、インストーラが自身をインストールしますダブルクリックして、非常に簡単です。
インストールした後、黒い羽の圧力測定は、独自に開始します。
ブラックフェザー圧力測定値は、パフォーマンス統計情報を取得するために聞く必要があるので、最初の起動は、Windowsファイアウォールが許可することを選択するように求められます。
クイックスタート
HyLoadは、パフォーマンステストは、通常、次のステップに分かれて行います。
ステップ1プロジェクトを作成します。
インタフェースはHyLoad以下に示します。
このインタフェースは、ユーザが選択するか、プロジェクトを作成できるようにすることです。
HyLoadプロジェクトは、定義ファイルの性能試験が含まれているディレクトリです。
インタフェースをクリックし新建项目
、ボタンをポップアップディレクトリ名の入力項目のインターフェイスを、プロジェクトのための高いパスを選択します。例えば、図3に示します。
次のように[OK]をクリックし、現在のプロジェクトのパス上に存在します
ステップ2は、単一のクライアントの動作を定義します
ここで左のメニューバーをクリックして、
単一のクライアントの動作を定義します。
パフォーマンステストは、シミュレートされた大量的客户端
テストの質量は、サーバに要求を送信します。
各クライアントの行動は何ですので、?我々は良いを定義する必要があります。
単一のクライアントの動作は定義された後、私たちはどれだけ多くのクライアントステップ3で指定した生産することができるようになります。
まず、私たちはクライアントの振る舞いの定義を追加するにはここをクリックしてください。
これは、ACT-1クライアント側の動作定義ファイルと呼ばれるファイルを作成します。
カスタムクライアントの動作は、実際にはPythonコードの一部です。
不会写Python代码的小朋友们,不用害怕,我们的工具会帮你自动产生代码哦。
点击右边的这些栏目,就会产生 对应的代码。
大家可以按照上面的箭头所示,依次从上到下,点击3个条目,就会产生如下所示的代码
# 创建客户端
client = HttpClient('127.0.0.1', # 目标地址:端口
timeout=10 # 超时时间,单位秒
)
# 发送 GET 请求
response = client.sendAndRecv(
'GET', # 请求方法 GET/POST/PUT/DELETE等
"/api/path1" # 请求URL
)
print(f"消息体字符串为 {response.string('utf8')} ")
显然,这是创建 客户端、发送请求给服务器、获取服务器响应消息体内容(如果是json格式的话)。
注意,点击右边条目的时候,代码会插入在当前光标处,所以务必注意光标在编辑窗口中的位置。
{: .notice–info}
我们以新浪的股票接口为例,它的API 服务 url是 http://hq.sinajs.cn/list=sh601006
最后list的值是股票代码。
那么我们只要简单修改一下上面自动生成的代码,如下所示,注意注释的解释
# 目标地址改为新浪服务器地址
client = HttpClient('hq.sinajs.cn',
timeout=10
)
response = client.sendAndRecv(
'GET',
"/list=sh601006" # 请求URL修改
)
# 由于服务端返回的json格式数据是gbk编码
# 所以改为gbk
print(f"消息体字符串为 {response.string('gbk')} ")
这就是 客户端行为定义, 做好了以后,点击 右上方的运行按钮,就会先执行一下单个用户的测试。
工具会打开终端窗口,运行该代码, 结果如下
当然,我们做性能测试,一个客户端,通常也是要反复地发送消息,这时,可以选择循环发送请求,
然后,修改一下代码,变成下面这样
client = HttpClient('hq.sinajs.cn',
timeout=10
)
while True:
response = client.sendAndRecv(
'GET',
"/list=sh601006", # 修改url
duration=1 # 接收到响应后等待,确保本操作耗时1秒
)
这样的修改,就是要求这个客户端每隔一秒钟,发送一个 HTTP请求 给被测的服务器。
第3步 定义性能测试场景
单个客户端定义好了, 要做性能测试,只要点击左侧菜单栏这里,定义性能测试场景
]
同样,点击下图处,添加一个性能场景定义。
然后,点击这里,插入 创建10个客户端 的示例代码
如下所示
# 定义性能场景,点击右边条目,可自动插入功能代码
createClient(
'act-1', # 客户端名称
10, # 启动客户端数量
0.1 # 每隔多少秒,启动一个客户端
)
当然,你可以自行修改客户端的数量。
这里,如果就是10个客户端,每个客户端每秒发送一个请求,10个客户端就是每秒10个请求。
随后,点击右上角运行按钮,就会打开一个窗口,按照我们的定义,运行该 性能测试了。如下
监控统计
点击左边菜单栏的 监控统计 图标,可以查看本次性能测试的实时监控,如下所示
如果你想结束本次性能测试,只需要关闭 运行性能测试的命令行窗口即可。
等整个性能测试结束,通常你需要产生这次性能测试的 统计图表,包括如下数据的图表
-
rps , 每秒发送请求数
-
tps , 每秒接收响应数
-
eps, 每秒错误响应数
-
tops, 每秒超时请求个数
-
avgresptime, 每秒平均响应时长
これらの統計データファイルは、プロジェクト内部のディレクトリに格納されています。
クリックするだけで数据文件统计
、以下に示すように、(ファイル名は、現在の日付と時刻である)だけで結果のデータファイルを選択し、ボタンをし、
]
図に示すような、チャートが生成されます。
あなたは、最終的な画像、テストレポートの便宜のために保存されるチャートの矢印をクリックすることができます。