パフォーマンステストに関する講演

  1. 当社初見、なぜパフォーマンステストを実行します。

ゲーム業界:新ゲーム機能のラインが、目標はフルサービスゲームコミュニティ、オンライン、サーバーのクラッシュに登場しているの結果であり、ゲームは数々の賞を発行したゲーム事業者のために、文句の選手をリードし、負荷の問題に遅いのアイコンが特徴。具体的な損失は、機能を形成し、公開作業を完了するだけでなく、ために長い遅延時間が生じ事故はありません

これは典型的なパフォーマンステスト、パフォーマンステストや事故が発生した不足の原因ではありません。ゲーム業界では唯一の仮想マネーの損失やゲームのためのプレーヤーの情熱が、伝統的な産業で、すべての後に、まだ比較的良いのですか?

この場合を通じて、我々はそれを知っている、いくつかの極端なシナリオ、ソフトウェア/ハードウェアの作品や大きな被害と損失の原因で、そのため、私たちはその高圧下でのソフトウェア、高い同時実行、高負荷を確認するためにテストの性能を実施する必要があります下の実際の作業。

  1. 性能試験とは何ですか

パフォーマンステストは、国境の性能限界のその究極のパフォーマンスおよび動作ステータスを決定するためにテストするハードウェア/ソフトウェアのパフォーマンスのために、極端なシナリオをシミュレートすることです。

主に次のシナリオのデザイン、性能テストシナリオ、:

- ベンチマーク:例えば、CPU、IO、ネットワーク帯域幅、ネットワーク接続など、状況に立ったときに、システムリソースの消費を理解します。干渉がある場合は、除外するようにしてください。

- 単一の要求の連続テスト:主に参照するための連続的要求、応答時間、サーバリソース消費量の1つのTPS(秒あたりのトランザクション秒あたりのトランザクション要求)、。

- 負荷テスト:主に最大のパフォーマンス分析のために、同時要求、ビューTPS、応答時間、エラー率、サーバーのリソース消費の数を増やします。

- ストレステスト:テストするために最大のパフォーマンスの重要なポイントで圧力を維持し、高圧の状況でサーバプロセスを参照してください。

- 安定性試験:連続XX日は、サーバーの操作が設計要件を達成するかどうかを確認するために、特定の同時の下でテストします

パフォーマンステストのプロセスは、単純に4つの段階に分けることができます。

性能要件分析フェーズ

準備フェーズ

実施段階

報告書および要約段階

第三ステップ - 技術の性能試験を使用する必要性を理解します

導入されたパフォーマンステストの原則:

パフォーマンステスト、本質は、シミュレートクライアントの要求に、サーバーのストレスは、サービスを提供し、ボトルネック箇所を特定するために、サーバーの能力を確認するために、高い同時実行、高トラフィックを、テスト、または最適化することが提案されています

質問:
どのようにシミュレート高並行性、高トラフィック?パフォーマンスを最適化するには?
どのようにシミュレート高同時実行:
-マルチスレッド技術の使用は、高い同時実行をシミュレートします。
-そのような上記の同時10ワットのように、高すぎる同時場合は、負荷機械としてロードバランシングと分散処理技術、JMeterのツールがサポートする複数のマシンを使用する必要があります。

どのように高流シミュレーション:
-への要求ごとに大量のデータを詰め込んで
、パフォーマンスを最適化する方法
の性能を高めるために、どのようにして?TPS(毎秒トランザクションごとセカンドトランザクション要求):私たちは、最初のパラメータ性能基準の尺度を紹介します。
私たちは、TPSの式を見て:
要求/応答時間平均のTPS =合計数
時間内にすべての要求の数:要求の合計数の
平均応答時間:すべての要求の平均応答時間は
、この式によっては、我々が知ることができ、とき分母より多くの時間、TPS大きくなります。だから、パフォーマンスを向上させるために、我々はそれに平均応答時間を増やす必要があります。それでは、どの平均応答時間を短縮するには?
、サーバ、データベース処理速度内部率を処理するクライアントであって、前記クライアントとサーバの処理速度の最適化戦略本質的に同一のレート処理、ネットワーク伝送速度を向上させる
性能の最適化:

ネットワーク伝送速度が増加:

図1に示すように、光ファイバ、ルーティングテーブル構成、ホップルータ伝送距離とネットワークを短縮番号を使用。

それはリアルタイムサービスであれば2は、あなたがキャッシュサーバを設定する必要があり、キャッシュが浸透するのを避けるために

増加のServerの内部処理速度:

計算集約型:アイデアは、CPU使用率、思考のマルチスレッドモードの最適化を改善することです。しかし、スレッドの数は、CPUコアの数を超えないようにしてください。スレッドの数は、コアCPUの数を超えているため、CPUは部分にわたって実行スレッドをスライスし、CPU読み取りスレッド・キャッシュは、コンピューティングパワーの減少の圧力を増加させます

IO集約型:

- 最適化のアイデアは、このようなSSDは、アレイ、分散技術として、ストレージの効率を改善することです。

- 原因IO集約型へ、CPUがIO操作のために待機している可能性は完了です。我々はIOにアクセスするために、スレッドのCPUコア数よりも多く使用することができるので、パフォーマンスを向上させるために(ただし、ディスクがビジー状態の場合、スレッドは、キュー内の少数のより多くのディスクキューイング、読みIO用のIOにアクセスするためのCPUスレッドの数を増加させる方法であります/書き込み操作がビジーではありませんが、それは)アドレスシナリオに長い時間がかかります

- 注:唯一つの内部ディスクIO操作がスレッドなので、とても同時ディスクを実現するために、あなたが複数のディスクを使用する必要がある、ある、ディスクアレイ

データベースの処理速度:

IOデータベースと直接相互作用するので、増加IOのパフォーマンスは、データベースのパフォーマンスを向上させることができます。

データベースは、データベースのパフォーマンスを向上させることができ、独自のデータ構造、データストレージと最適化アルゴリズムに関連するクエリを持っています

索引チューニング

キャッシュ最適化

データベース接続の最適化

データベースのクエリの最適化

サブテーブルのサブライブラリー

分散処理
、次のように心があります:
ここに画像を挿入説明

パフォーマンスの監視

私たちは、データを分析する必要があり、あなたが分析するために収集するためのツールと表示データを監視し、パフォーマンスを必要とし、データを取得する必要があります。

我々が持っているので、どのようにそれを監視するには?ここでは、ツールの使用達成されているを行うことができます。

Linuxの場合:

あなたは、モニターのCPU、メモリ動作にパッケージsarコマンドsysstatのツールを使用することができ、IOは、ネットワークは、
スレッドの動作を表示するpsコマンドを使用することができます

JAVA:あなたはJavaスタック情報の解析のためのネイティブJavaツールキットである、視聴のためにjstack、jprofile、jstatは、jmapは、JPSツールを使用することができます

ウィンドウズ:

リソースモニタは、モニタと収集データに使用することができるwidnowsが来ます

データベース監視:

MySQLのデータベースが内蔵されたツールを監視しますが、料金

あなたは、このようなinnotopとして、モニターに無料ツールを使用することができます

あなたは、ZABBIXとして、監視機能の強力な統合ツールを使用することができます(また、サーバーを監視することができます)

その他:

モニタリングフロントエンドのパフォーマンス:YSlowのは、Googleの開発者モードを - >パフォーマンス、使用が開発をカスタマイズすることがwindows.performance

Androidのモニタリング:

- 網易オープンソースEmmagee、

- TencentのオープンソースGT、

- ITESTのIFLYTEK、

- Googleのオープンソースバッテリー

リリース元の2件の記事 ウォンの賞賛0 ビュー121

おすすめ

転載: blog.csdn.net/qq_28163501/article/details/104506060