>  기사  >  일일 프로그램  >  MySQL의 실시간 성능 모니터링 도구 소개

MySQL의 실시간 성능 모니터링 도구 소개

WJ
WJ앞으로
2020-06-06 17:11:435667검색

MySQL의 실시간 성능 모니터링 도구 소개

운영 체제 및 mysql 데이터베이스의 실시간 성능 상태 데이터는 특히 성능 지터가 있는 경우 중요합니다. 이러한 실시간 성능 데이터는 시스템 또는 MySQL 데이터베이스의 성능 병목 현상을 빠르게 찾는 데 도움이 될 수 있습니다. Linux 시스템에서 하는 것처럼 인터넷에서 "top, sar, iostat" 등의 명령 도구를 사용하는 것처럼 OS의 성능 병목 현상이 IO에 있는지 아니면 CPU에 있는지 즉시 알아낼 수 있으므로 수집하는 것이 더 중요합니다. /이러한 성능 데이터를 표시합니다. 중요한 실시간 성능 상태 지표는 무엇입니까? 시스템 및 MySQL 데이터베이스의 성능 부하를 반영할 수 있습니까?

MySQL의 실시간 성능 모니터링 도구 소개

현재 Linux에서 MySQL을 실행하는 것은 대부분의 인터넷 회사에서 표준입니다. 위 그림의 성능 데이터 지표는 Linux, MySQL 및 InnoDB에서 더 중요하다고 생각하는 실시간 상태 데이터입니다. 사실 위 그림의 Doing 열이 더 중요합니다. Doing이라고 불리는 이유는 "processlist, 엔진 innodb 상태, 잠금"과 같은 표시 항목이 현재 MySQL이 수행하는 작업을 그대로 반영하기 때문입니다.

MySQL의 실시간 성능 모니터링 도구 소개

오라클 데이터베이스를 살펴보겠습니다. 오라클 데이터베이스는 "AWR, ASH, SQL 모니터" 등 다양한 진단 도구를 제공합니다. 데이터베이스가 수행하는 작업을 한눈에 확인할 수 있으며, 지난 30일 동안 어떤 일이 일어났는지, 특정 시간 간격의 성능 부하와 해당 시간에 데이터베이스가 수행 중인 작업을 알 수 있습니다.

MySQL에는 "zabbix, PMM"과 같은 뛰어난 모니터링 도구가 있지만 데이터베이스 기록의 일부 성능 데이터 곡선만 반영할 수 있습니다. 예를 들어 TPS가 높고 임시 테이블을 너무 많이 사용하며 InnoDB 교착 상태가 있습니다. , 그러나 그 당시 MySQL이 수행하고 있던 작업은 충분히 간단하지 않았다는 점만 말씀드릴 수 있습니다. 현장에 있으면 MySQL이 무엇을 하고 있는지 알 수 있지만 현장에 없을 때가 항상 있습니다. 어젯밤에 데이터베이스 성능이 지터된 이유가 무엇인지 묻는다면? 지터의 원인을 찾기 위해 장면을 신속하게 재현하는 방법은 무엇입니까?

답은 무료 콘솔 기반 모니터링 도구인 "doDBA 도구"를 사용하는 것입니다.

doDBA 도구란

doDBA 도구는 로컬/원격 시스템에 소프트웨어를 설치할 필요 없이 운영 체제, MySQL 및 InnoDB를 실시간으로 생성하고 Doing 로그 파일을 생성하여 시스템 및 MySQL 데이터베이스를 빠르게 이해/최적화하는 데 도움을 줍니다.

Features

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

Ssh를 통해 원격 서버에 접속(사용자 이름과 비밀번호 또는 신뢰 설정)하여 원격으로 시스템 정보를 수집합니다. 수집 방법은 Linux proc, uptime, net, vmstat, cpuinfo, loadavg 및 기타 파일은 pmm 및 zabbix 수집 방법과 일치합니다. meminfo,diskstats,uptime,net,vmstat ,cpuinfo ,loadavg等文件,这和pmm,zabbix收集方式一致。

远程收集MySQL信息是通过 MySQL tcp连接到MySQL数据库上收集,只需要授予连接用户PROCESS、SELECT权

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.

MySQL의 실시간 성능 모니터링 도구 소개

4 . MySQL 및 Linux 성능 데이터 수집

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

MySQL의 실시간 성능 모니터링 도구 소개

5. mytop --like 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51dev.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제