序文 1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比較可能なテストを重視するパフォーマンス テストの一種です。 さらに理解を深めるために、ベンチマークとは、特定の時点でのベンチマークを通じて既知のパフォーマンス レベル (ベースラインと呼ばれる) を確立することです。システムのハードウェアおよびソフトウェア環境が変更されると、ベンチマークが再度実行され、それらの変更がパフォーマンスに与える影響が判断されます。これは、ベンチマークの最も一般的な用途でもあります。その他の用途としては、特定の負荷レベルでのパフォーマンス制限の決定、システムまたは環境の変更の管理、パフォーマンスの問題につながる可能性のある条件の特定などが挙げられます。 2. ベンチマークの役割: ほとんどの Web アプリケーションでは、システムのボトルネックはデータベース側で簡単に発生します。その理由は単純です。ネットワーク帯域幅、負荷分散ノード、アプリケーション サーバー (CPU、メモリ、ハード ディスクの明るさ、接続数などを含む)、キャッシュなど、Web アプリケーション内の他の要素は、水平拡張 (一般にマシンの追加と呼ばれる) によって簡単にパフォーマンスの向上を実現できます。 MySQL などのデータベースの場合、データの一貫性が求められるため、マシンを追加することでデータベースへのデータ書き込みの負荷を分散することはできません。フロントエンド キャッシュ (Redis など)、読み取りと書き込みの分離、ライブラリとテーブルのシャーディングによって負荷を軽減することはできますが、システムの他のコンポーネントの水平拡張と比較すると、制約が多すぎます。 3. ベンチマークテストとストレステストの違い: 多くの場合、ベンチマーク テストとストレス テストは実際の使用時に混同されやすくなります。ベンチマーク テストは、システムのストレス テストとして理解できます。ただし、ベンチマーク テストではビジネス ロジックは考慮されず、よりシンプルで直接的であり、テストが簡単です。データはツールによって生成でき、実際のデータである必要はありません。ストレス テストでは通常、ビジネス ロジック (ショッピング カート ビジネスなど) が考慮され、実際のデータが必要です。 4. ベンチマークツール: SysBench は、さまざまなシステム パラメータの下でデータベースの負荷を評価するために主に使用される、モジュール式のクロスプラットフォーム マルチスレッド ベンチマーク ツールです。主に以下の種類のテストが含まれます。 1. CPUパフォーマンス 2. ディスクIOパフォーマンス 3. スケジューラのパフォーマンス 4. メモリ割り当てと転送速度 5. POSIXスレッドのパフォーマンス 6. データベースパフォーマンス(OLTPベンチマーク) 現在、sysbench は主に MySQL、pgsql、oracle の 3 つのデータベースをサポートしています。 インストール
ご注意:インストール中に依存関係パッケージが不足している場合は、こちらをご覧ください。 データ準備 準備する
2. 始めましょう find / -name oltp*.lua # 後でコマンドを実行するために使用される sysbench 組み込みデータ書き込みスクリプトのパスを検索します
実行プロンプトエラー 理由: インポートされたデータがデータベースのデフォルト値を超えています 解決する: MySQLがインストールされているサーバーのデータ設定を変更する必要があります vim /etc/my.cnf max_allowed_packet の値を変更します。存在しない場合は、最後に行を追加します。 再度実行して、mysqlクライアント上のデータを確認します テストを実行する
上記のコマンドは、10 個の同時スレッドが使用され、実行時間は 30 秒で、テスト情報は 3 秒ごとに出力されることを示しています。 その中でも、私たちにとってより重要な情報は次のとおりです。
データのクリーニング テストが完了した後も、最後の仕上げを忘れないでください。データベースに保存された大量のテスト データは、依然として影響を及ぼします。
データを確認する 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: DockerでGDBを使用するときにブレークポイントを入力できない問題を解決する
div がネストされているときに margin が機能しない問題の解決策を次に示します。さて、マージ...
どの DBMS でも、インデックスは最適化にとって最も重要な要素です。データ量が少ない場合、適切なイ...
1. QTからJSへのデータフロー1. QTはJS関数を呼び出し、JSはパラメータを通じてQTの値を...
質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...
HTML フォームは、名前、電子メール アドレス、場所、年齢などのユーザー情報を収集するためによく使...
概要ボリュームは、さまざまなストレージ リソースを抽象化および仮想化したものです。ストレージ リソー...
概要私たちは、双十一に天猫で化粧品を購入する人の平均支出額を知りたい(商品の価格帯を見つけるのに役立...
この記事では、天気予報機能を実現するためのVueの具体的なコードを参考までに共有します。具体的な内容...
この記事では、参考までに、シンプルなチャットルームを実装するためのnode+socketの具体的なコ...
前回の記事はBootstrap CSS部分の簡単なレビューであり、多くの詳細が見落とされていました。...
注: sg11 弊社では Linux システム仮想ホストのセルフインストールのみサポートしております...
結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...
序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...
Java開発キットjdkをダウンロードするJDK のダウンロード アドレスはhttp://www.o...
概要オンラインサービスへのアクセス中に 500 または 502 エラーが発生した場合、緊急処理とトラ...