MySQLの主要なパフォーマンス指標の説明

一般に、パフォーマンス指標に対応するデータベースを監視および最適化するためのメインデータベースのパフォーマンスのボトルネックと負荷となり、プロジェクト、主作業は、顔に操作および保守要員の必要性を開発することで、ワークが開発からを通してこのプロジェクトの一部となります全サイクルのを実行します。

この記事では、いくつかの主要なMySQLデータベースの統計パフォーマンスの計算を要約して説明します。

MySQLでは、我々はエントリがに焦点を当てる必要がありますインデックスを抽出することができ、そこから、ショーグローバル状況によってパフォーマンス指標項目の多くを得ることができます。

1、CPU、メモリ使用率、ディスクスペース

CPU、メモリ、ディスク、我々はこれら三つが最も直感的な指標がまた私達のデータベースサーバが3異常な変動をいったん実行しているのMySQLの全体的な状態を反映している見ることができるが、必然的にプロジェクトの安定性とパフォーマンスに影響を与えるだろう、私たちは合理的な配分やプロジェクトとMySQLの最適化をする必要があります。

図2に示すように、接続数、作成された接続の数、接続キャッシュの数、アクティブな接続の数

Threads_created:

「Threads_created」のようなショーグローバルな状況では、名前は、MySQLが作成された接続の合計数があることを示唆している作成された接続の数を表示することができます。

Threads_connectd:

「Threads_connectd」のようなショーグローバル状態によって接続数が既に接続されて見ることができ、この値はPROCESSLISTを表示等しいです。

Threads_catched:

「Threads_catched」のようなショーのグローバル状態によって、あなたは現在の接続数を表示することができ、現在キャッシュされて、我々は非常にリソースを消費する既存の接続が使用されなくなった接続MySQLを、確立することを知っているのMySQLは、MySQLは直接切断されませんが、それに接続キャッシュ需要が性能目標を改善するために、複数の接続を実現するためにスレッドを作成があり、次回は、接続数にThreads_catched値は現在入手可能で、私たちはプール値バッファに来ることができるようにThreads_createdプールをすべきバッファあなたはすでにミドルウェアや他の接続プール管理を持っている場合Threads_catched合計がThreads_connectdは、当然のことながら、このパラメータはそれほど重要ではありませんが、他の接続プールの管理、パラメータの最適化や、特定の必要がない場合です。

Threads_running:

あなたは接続の数は、現在アクティブな閲覧できますように、この値は、接続された状態で現在アクティブなスレッドの数を表し、「Threads_runningは」ショーグローバルな状況で、この値が小さいThreads_connectd以上でなければなりません。

3、IOPS、QPS、TPS

IOPS(秒あたりの入力/出力操作、両方の第二I / Oのあたりの要求の数)

私たちは、IOは、読み取りおよび書き込みは、単位時間内の要求の数を扱うことができますが、単純にIOPSは、記憶媒体(通常はディスク)として理解置くことができ、データベースの性質を扱うのIOプロセスを読み書きするために、すべてのデータベースへのアクセスとMySQLを知っていますIOPS = 1000msの/(時間+回転待ち時間を求める。以上のデータベース処理要求の値が許容される一定時間内に自然に高いIOPS、式のIOPSは、最後に、オペレーションは、ディスクの読み取りおよび書き込みに落ちます通常の機械的なハードディスクSSDソリッドステートドライブは、パワーより効果的な手段を処理するのMySQLレイズ1種類に交換されるように)、我々は、このインジケータが密接に関連して、あなたのストレージメディアのパフォーマンスで計算され見ることができます。

QPS(クエリごと第二に、第2のリクエストあたりのクエリ数の両方)

QPSは、1秒あたりの要求数は、MySQLデータベースのクエリを受信した表し、私たちはのような世界的なステータスを表示することができ、MySQLデータベースの非常に重要な指標である、現在のデータベース「質問」を参照してください、クエリの数あるご質問は、それがことに留意すべきですこの値は、すべてのMySQLサービスの開始からの問い合わせの数であるグローバル累積値、です。我々は平均値を計算する場合はQPSのパフォーマンスは、直接以下の方法を用いて算出することができるデータベースサービスです。

ショー=質問グローバルのような状況質問 ; - 後のクエリのMySQLの総数起動

と稼働時間 =ショーグローバルのようなステータスを稼働時間 ; - ファイル名を指定して実行時間のこの開始後のMySql(単位:秒)

QPS =質問/ AND稼働時間

あなたは、インデックスを計算したい場合は、私たちがステータスのような時間単位、(株)無料ショーに参加することによって分離することができ、手動で計算するために私たちを必要とする、システムピークQPSある  「質問」コマンドこのクエリの値を、隣接する2つの値の控除実際に要求された、時間的に分離を正確毎秒カウントが得られます。

TPS(Transcantion Per Second,既每秒事务数)

それはInnoDBエンジンでの毎秒のデータトランザクションは、この指標データを持つことになりますですので、TPSは、TPSの計算のような世界的なステータスを表示する必要があり、バックトランザクションを提出し、ロールを伴う「Com_commitを」と のようなグローバル状態を示し、「Com_rollbackを」我々はまた、サンプル間隔ごとに一度計算する必要があり、その後、単位時間の値の合計で割っCom_commit Com_rollback値は、TPS、以下の式であります:

=コミットを表示グローバルのような状況をCom_commit ; 

ROLLBACK =ショーグローバルのような状況Com_rollback ; 

TPS =(コミットROLLBACK +)/秒(単位時間当たり、単位:秒)

 4、InnoDBのキャッシュはヒット率、利用率、汚れたブロックの割合(%)を読みます

使用MySQLでは、InnoDBエンジンの利点と特性は、我々は通常MySQLデータエンジンとして、それを選択し、InnoDBはキャッシュ機能を持っていないだけのInnoDBキャッシュインデックスので、大幅に改善されたクエリのパフォーマンスMySQLのことができ、しばらく実際のデータをキャッシュします、我々はそのキャッシュのヒット率、利用率や汚れブロックの過程で重要な性能指標である必要があり、データをキャッシュするためにストレージエンジンInnoDBはより多くのメモリを構成するために使用することができます。

InnoDBのについて多くのパラメータの指標があります。

// InnoDBのファイルが書き込み回数読み取ると

InnoDBのファイルから秒当たりの読み取り時間:innodb_data_reads 

ファイル書き込まから毎秒のInnoDB回:innodb_data_writes 

innodb_data_fsyncs:FSYNCの第二の平均のInnoDB()操作の数を

// のInnoDBリード書き込み量

innodb_data_read:第2の読み出し単位KBあたりのデータのInnoDBの平均量

innodb_data_written:秒当たりのデータのInnoDBの平均量をKB単位で書き込まれる

// InnoDBのバッファプール状態

innodb_buffer_pool_reads:秒あたりの物理ディスクから読み取らページ番号

innodb_buffer_pool_read_requests:リードバッファプールのInnoDBの数から(論理的読み出し要求の数)秒当たりの

第2の書き込みバッファプールのInnoDB当たりの回数:innodb_buffer_pool_write_requests 

InnoDBのバッファプール、ダーティページあたりの平均数:innodb_buffer_pool_pages_dirty 

平均:innodb_buffer_pool_pages_flushedバッファプールのInnoDBの秒数は、ページ要求をリフレッシュ

そしてInnoDBのバッファヒット率、利用率、ダーティブロックの比(%)を上記に従って一次パラメータから計算される読み取ります

InnoDBのプールは、ヒット率を読み取るバッファ=(1 - Innodb_buffer_pool_reads / Innodb_buffer_pool_read_requests)×100

( - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total 1)* 100プールの使用率を=バッファINNODB

バッファプールINNODB =(innodb_buffer_pool_pages_dirty / innodb_buffer_pool_pages_total)* 100のダーティブロックの割合

ネットワークトラフィック(毎秒入出力)

演算単位時間内にネットワークトラフィックデータもよいBytes_receivedのMySQL取得BYTES_SENTを監視します。

Bytes_received / S:KBで、すべてのクライアントから受信した第2の端部あたりのバイト数

BYTES_SENT / S:KB内のすべてのクライアントに毎秒送信されたバイト数の平均値、

6、MySQLは多くの統計を更新し、InnoDBエンジン、挿入、欠失毎秒問い合わせ

グローバルMySQLデータベースクエリ、挿入、削除、更新時間が透けて見えるために、「%innodb_rows%」コマンドのようなグローバル状態を示し、単位時間内に上記指標は、挿入の数を毎秒InnoDBエンジンクエリを取得します、番号、アップデートの番号を削除

第二= Innodb_rows_read /秒あたりのInnoDBエンジンクエリ

第二= Innodb_rows_inserted /秒あたりのInnoDBエンジン挿入

秒当たりの回数は、InnoDBエンジン= Innodb_rows_deleted / Sを削除します

秒当たりの回数は、InnoDBエンジン= Innodb_rows_updated / Sを削除します

 

これらは、1が動作状態のMySQLデータベースを監視することができ、主要なコンピューティングのMySQLデータベース・パフォーマンス・メトリックおよびこれらのパフォーマンス指標や統計情報を監視するための統計的手法のいくつかである一方で、検索し、特定のパフォーマンス指標の異常な配置によってもを配置することができ、我々は不十分ではなく、適切な場所でも、その希望と寛大さを指摘した場合、ヘルプへのプロジェクトのMySQLデータベース用に使用したいです。

 

より多くの技術記事を参照するには、マイクロチャンネル公衆数に焦点を当てています。

 

おすすめ

転載: www.cnblogs.com/dafanjoy/p/12133241.html