ホームページ  >  記事  >  毎日のプログラミング  >  MySQL のリアルタイム パフォーマンス監視ツールの紹介

MySQL のリアルタイム パフォーマンス監視ツールの紹介

WJ
WJ転載
2020-06-06 17:11:435842ブラウズ

MySQL のリアルタイム パフォーマンス監視ツールの紹介

オペレーティング システムと mysql データベースのリアルタイムのパフォーマンス ステータス データは、特にパフォーマンスのジッターがある場合に特に重要です。これらのリアルタイムのパフォーマンス データは、パフォーマンスをすばやく特定するのに役立ちます。ボトルネックは、Linux システムで「top、sar、iostat」などのコマンド ツールを使用する場合と同様に、OS のパフォーマンスのボトルネックが IO にあるのか CPU にあるのかをすぐに判断できるため、これらのパフォーマンス データを収集/表示することが重要です。システムと MySQL データベースのパフォーマンス負荷を反映できる重要なリアルタイム パフォーマンス ステータス インジケーターは何ですか?

MySQL のリアルタイム パフォーマンス監視ツールの紹介

現在、Linux 上で MySQL を実行することは、ほとんどのインターネット企業の標準です。上の図のパフォーマンス データ インジケーターは、Linux ではより重要であると私が考えるリアルタイム インジケーターです。 、MySQL、および InnoDB のステータス データですが、実際には上の図の Doing 列の方が重要です。これが Doing と呼ばれる理由は、「プロセスリスト、エンジンの innodb ステータス、ロック」などのインジケーター項目が MySQL の内容を正確に反映しているためです。この時にやってる。

MySQL のリアルタイム パフォーマンス監視ツールの紹介

Oracle データベースを見てみましょう Oracle データベースには、「AWR、ASH、SQL モニター」などの多くの診断ツールが提供されています。データベースが何をしているのか、パフォーマンスの負荷や、過去 30 日間の任意の期間でデータベースが何をしていたかを知ることもできます。

MySQL には「zabbix、PMM」などの優れた監視ツールがありますが、それらはデータベース履歴の一部のパフォーマンス データ曲線しか反映できません。たとえば、TPS が高い、一時テーブルの使用量が多すぎる、などです。 InnoDB のデッドロックですが、当時 MySQL が行っていたことを考えると、直接的ではなかったとしか言えません。サイトにいる場合は、MySQL が何をしているのかを把握できますが、サイトにいないときも常にあります。昨夜のデータベースのパフォーマンスのジッターの理由は何だったかを尋ねられたら?シーンを素早く再現してジッターの原因を見つけるにはどうすればよいでしょうか?

その答えは、無料のコンソールベースの監視ツールである「doDBA ツール」を使用することです。

doDBA ツールとは

doDBA ツールは、コンソールベースのリモート監視ツールです。ローカル/リモート システムにソフトウェアをインストールする必要はありません。リアルタイム データを収集できます。オペレーティング システム MySQL 上では、InnoDB はリアルタイムのパフォーマンス ステータス データを提供し、システムと MySQL データベースを迅速に理解/最適化するのに役立つ Doing ログ ファイルを生成できます。

機能

基于golang语言开发
可收集Linux、MySQL相关性能数据
可本地或远程收集,可多台
mytop --Like Linux TOP
基于并发生成Doing日志,复现现场
可记录到日志文件
doDBA tools 工作原理

ssh (ユーザー名とパスワード、または信頼関係の確立) を介してリモート サーバーに接続することにより、システム情報をリモートで収集します。収集方法は、Linux proc ファイル meminfo を読み取ることによって行われます。 、diskstats、uptime、net、vmstat、cpuinfo、loadavg およびその他のファイル。これらは pmm および zabbix の収集方法と一致します。

MySQL tcp を介して MySQL データベースに接続し、MySQL 情報をリモートで収集します。接続ユーザーに PROCESS および SELECT 権限を付与するだけで済みます。

システム情報の収集と MySQL 情報の収集は分離できます。システム情報のみを収集する場合は、システムのユーザー名とパスワードを指定するだけです。MySQL のみを収集する場合は、MySQL のみを提供します。 rds ユーザーの場合は、-rds パラメーターを使用すると、mytop の使用時にシステム情報の収集が自動的に無視されます。

使用方法

Github主页:
https://github.com/dblucyne/dodba_tools
Download:
wget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA --no-check-certificatewget https://raw.githubusercontent.com/dblucyne/dodba_tools/master/doDBA.conf --no-check-certificatechmod +x doDBA

環境に依存せず、ダウンロード後すぐにご利用いただけます。


使用上のヘルプ:

./doDBA -help
  -c string
    configuration file.(default "doDBA.conf")
  -h string
    Connect to host/IP.
  -sys
    Print linux info.
  -myall
    Print linux and mysql info.
  -mysql
    Print mysql info.
  -innodb
    Print innodb info.
  -mytop
    Print mysql prcesslist,like top.
  -i duration
    refresh interval in seconds.(1s)
  -t int
    doing on Threads_running.(50)  
 -rds        
   Ignore system info.
  -log
    Print to file by day.
  -nocolor
    Print to nocolor.

使用例

1. Linux パフォーマンス データの収集

./doDBA -h=10.1.x.xx -sys

MySQL のリアルタイム パフォーマンス監視ツールの紹介

2 .MySQL パフォーマンス データの収集

./doDBA -h=10.1.x.xx -mysql

MySQL のリアルタイム パフォーマンス監視ツールの紹介

3. InnoDB パフォーマンス データの収集

./doDBA -h=10.1.x.xx -innodb

MySQL のリアルタイム パフォーマンス監視ツールの紹介##4. MySQL および Linux のパフォーマンス データの収集

./doDBA -h=10.1.x.xx -myall

MySQL のリアルタイム パフォーマンス監視ツールの紹介5. mytop --linux top

のような
./doDBA -h=10.1.x.xx -mytop

MySQL のリアルタイム パフォーマンス監視ツールの紹介

6. 借助Shell收集多台

cat ip.txt
10.1.x.x110.1.x.x2
Shell
cat ip.txt | while read ip;  do  echo $ip; ./doDBA -h=$ip -mysql -log </dev/null &  done

7. 收集到日志文件

./doDBA -h=10.1.x.xx -mysql -log

MySQL のリアルタイム パフォーマンス監視ツールの紹介

8. 开启Doing功能

使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,--复现现场。

/doDBA -h=10.1.x.xx -myall -t=3

MySQL のリアルタイム パフォーマンス監視ツールの紹介

9. 查看Doing日志

tail -f dodba.log

MySQL のリアルタイム パフォーマンス監視ツールの紹介

MySQL のリアルタイム パフォーマンス監視ツールの紹介

以上就是MySQL 的实时性能监控利器的全部内容。

相关参考:MySQL教程

以上がMySQL のリアルタイム パフォーマンス監視ツールの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51dev.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。