ホームページ >毎日のプログラミング >mysqlの知識 >MySQL のリアルタイム パフォーマンス監視ツールの紹介
オペレーティング システムと mysql データベースのリアルタイムのパフォーマンス ステータス データは、特にパフォーマンスのジッターがある場合に特に重要です。これらのリアルタイムのパフォーマンス データは、パフォーマンスをすばやく特定するのに役立ちます。ボトルネックは、Linux システムで「top、sar、iostat」などのコマンド ツールを使用する場合と同様に、OS のパフォーマンスのボトルネックが IO にあるのか CPU にあるのかをすぐに判断できるため、これらのパフォーマンス データを収集/表示することが重要です。システムと MySQL データベースのパフォーマンス負荷を反映できる重要なリアルタイム パフォーマンス ステータス インジケーターは何ですか?
現在、Linux 上で MySQL を実行することは、ほとんどのインターネット企業の標準です。上の図のパフォーマンス データ インジケーターは、Linux ではより重要であると私が考えるリアルタイム インジケーターです。 、MySQL、および InnoDB のステータス データですが、実際には上の図の Doing 列の方が重要です。これが Doing と呼ばれる理由は、「プロセスリスト、エンジンの innodb ステータス、ロック」などのインジケーター項目が 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 権限を付与するだけで済みます。
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 -sys2 .MySQL パフォーマンス データの収集
./doDBA -h=10.1.x.xx -mysql3. InnoDB パフォーマンス データの収集
./doDBA -h=10.1.x.xx -innodb
##4. MySQL および Linux のパフォーマンス データの収集
./doDBA -h=10.1.x.xx -myall
5. mytop --linux top
のような./doDBA -h=10.1.x.xx -mytop
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
8. 开启Doing功能
使用【-t】参数可以基于Threads_running的数量设置阈值,设置后可记录「processlist,engine innodb status」信息到dodba.log日志中,--复现现场。
/doDBA -h=10.1.x.xx -myall -t=3
9. 查看Doing日志
tail -f dodba.log
以上就是MySQL 的实时性能监控利器的全部内容。
相关参考:MySQL教程
以上がMySQL のリアルタイム パフォーマンス監視ツールの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。