JMeterのスクリプト開発:パフォーマンステストの基本的な概念(A)

1.(ソフトウェア)パフォーマンステストとは何ですか

パフォーマンス:トランザクション、評価値項目の特定の特性

ソフトウェアのパフォーマンステスト:特定の技術を持つプロパティのテスト指標値を識別または検証する、など:あなたはどのくらいの時間で100メートルを実行しますか?

例えば:

「あなたは、いくつかの2キロを持っているかどうかを確認」:

  徐々にシステム負荷、テスト・システムの性能の変化を増加し、最終的に最大荷重に耐えることができるシステムを決定します

「ああ、大きな梨!」:

  大きなパフォーマンスの圧力では、システムサービスとリソース使用率を見て、長い時間を実行し続け

  キーワード:長い間大きな圧力+

通常の試験、100、例えば100のような最大負荷を、検索した後ストレステストを行うためにわずかに小さな24×7よりも時間を選択します。通常、最初の開始、10か、試験の20のような低圧前に、テストは、特定の保護システム、ストレステストによって記述信頼性があり、次いで90のパフォーマンスのボトルネックを行います

信頼性試験:いくつかの時間のための一定の与えられたビジネス圧力、連続運転の下で、システムが安定しているかどうかを確認するには

  キーワード:「安定」は、特定のビジネス圧力か

容量試験:データの大きさが異なる量のデータベース内の特定のソフトウェアおよびハードウェアの条件の下で、システムは、読み取りおよび書き込み動作は、異なる大きさデータの性能指標値を得るために多くのテストであります

  キーワード:順序の異なるデータ

例えば:

信頼性試験:一定の高い圧力は、選択され100、10又は20の最大負荷時のような比較的低い圧力試験を、必要とされません

容量試験:そのようなユーザデータとユーザデータ10000としてクエリ、データベースクエリ応答時間

II。パフォーマンステストの目的

目的:主要業績評価指標や証明システムのいくつかを見つけるために、

  1.新しいシステムは、パフォーマンステストを行う決して、主要なパフォーマンス指標の値を見つけるために

  所定の性能指標値を確認するために再度パフォーマンステストに基づいて、既存のパフォーマンスに基づいて、2

III。性能試験の前提

パフォーマンステストの1.必要性 - 主要評価

  1)権限のある当局、規制当局による審査

  2)生命と財産の安全性に関わります

  3)大規模な新システム

  4)コアシステム

  5)構造調整

  6)ブーム

  7)主要なバグ修正

2.テスト容易性 - 定量化性能指標値

IV。パフォーマンステストツール

1.オープンソース:JMeterを

  Java開発、クロスプラットフォーム、バージョンアップすぐに(後でV3.2 + JDK 1.8を推奨)、非常に活発な学習資料より

2.ビジネス:LoadRunnerは

  ベンチマークのパフォーマンス・テスト・ソフトウェア、C言語、国内のブレーク(<LR11)、LR12 50は、ユーザー数の無料トライアル、遅い更新を制限

3.自習ます:python +イナゴ

  Python言語を開発します

V.パフォーマンステストの主要指標

1.ソフトウェアのパフォーマンスを心配する必要があります何ですか?

パフォーマンス1)企業はどのようなものを心配すべきですか?

フォーカス 演奏 パフォーマンス指標
サーバーの使用率 リソースの活用  
最大の顧客サポート システム容量  
最大同時ユーザーをサポートすることができます 同時ユーザーの数  
これは、交換用のハードウェアのパフォーマンスを提供することではありません スケーラブル  
私たちは、ダウンタイムなしで長時間実行し続けることができません 安定  

 

 

 

 

 

 

 

 

2)開発者の注目のパフォーマンスは何ですか?

フォーカス 演奏 パフォーマンス指標
アーキテクチャの設計が合理的です システムアーキテクチャ  
データベース設計 データベース  
コードのロジック コード  
スレッド、非同期、同期、キュー 実装技術  
資源配分 安定  

 

 

 

 

 

 

 

 

2.同時

同じ操作(スパイク)を実行するために時間の同じポイントを参照

 

3.同時(重要な指標)ユーザー

ユーザーの数が同じ時点では、同じの実行を要求します

システムユーザーが、オンラインユーザー、スレッドの数

 

4.トランザクション(トランザクション)

これは、クライアントがサーバにリクエストを送信し、サーバーが応答するプロセスを指します

 

注意:スレッドの数は、ここで仮想ユーザーの数を指し、そして開発者が同じスレッドではありません

JMeterの通常存在を意味すると理解される。呼び出されたトランザクションの開始からの要求に応答するためのインタフェースを、複数の要求にLRインターフェースは、トランザクションに対する応答として見ることができ、袋に書かれたトランザクション複数のインタフェース

 

5.応答時間(RT)(重要な指標)

開始要求は、応答時間から受け取りました

  ネットワーク伝送時間+発信要求サーバが応答処理時間+ネットワーク伝送時間を返します

 

6. TPS \ QPS(先行指標)

TPS(秒あたりのトランザクション):秒あたりのトランザクションのサーバ数、サーバの処理能力の最も重要な指標の尺度

QPS(毎秒のクエリ):秒あたりのクエリの数

違い:そのようなWebページへのアクセスなど、より多くの取引クエリ、あるかもしれません

 

注:高TPS、低コードの複雑さを説明し、良いCPU、低メモリ消費、高速なデータベース・コンピューティング・パワー

トランザクションが複数のクエリを含むことができる、そのような百度のような、より大きな、TPSが小さくをQPSことができる、複数のクエリインターフェースを起動することが可能です

RT:想要真正的服务器处理时间,因此实际做测试时尽量不要使用堡垒机、跳转机

 

7. 吞吐量(Throughput)

单位时间内处理的请求数量(事务/s)

如:港口吞吐量,1年5千万标准集装箱

 

8. 吞吐率

单位时间内通过的数据的平均速率(kb/s)

如:港口日吞吐率,年吞吐量/365天

 

9. 点击数(Hit per Second)

每秒点击数

 

10. 资源利用率

指系统资源的使用程度,比如服务器(网络以及数据库)的CPU利用率,内存利用率,磁盘利用率,网络带宽利用率等

CPU利用率

内存利用率

磁盘I/O

 

一般都不要超过80%

 

六. 性能测试步骤

1. 性能测试准备

1) 需求分析,熟悉业务

2) 明确性能测试目标(指标值)

3) 了解软件功能,架构

4) 制定测试模型(编辑测试用例)

5) 指定测试计划,做好工作量评估

 

2. 搭建性能测试环境

1) 工具选型与准备

2) 被测系统环境搭建(服务器、服务版本更新、数据库数据准备)

3) 网络配置

 

3. 性能测试脚本开发

1) 选取协议

2) 制作脚本

3) 调试脚本

4) 验证脚本

 

4. 性能测试脚本执行

1) 试用行

2) 场景执行

 

5. 结果分析与调优

1) 分析依据:结果图表

2) 分析思路:服务器硬件瓶颈 > 网络瓶颈 > 服务器os瓶颈(参数配置、数据库、web服务器) > 应用瓶颈(sql语句、数据库设计、业务逻辑、算法)

3) 调优

4) 修改脚本或场景

 

注意:做性能测试的必要条件:性能测试服务器的配置要尽可能的和生产服务器配置相近

 

6. 测试报告与结果追踪

性能测试报告

性能测试问题跟踪

 

七. 开展性能测试必备条件

1. 网络要求:内网(zoom域)  外网 独立分开 千万不要用跨内网外网

2. 独立环境  功能测试不能和性能测试共用环境

 

おすすめ

転載: www.cnblogs.com/my_captain/p/11756343.html
おすすめ