운영 체제 및 mysql 데이터베이스의 실시간 성능 상태 데이터는 특히 성능 지터가 있는 경우 중요합니다. 이러한 실시간 성능 데이터는 시스템 또는 MySQL 데이터베이스의 성능 병목 현상을 빠르게 찾는 데 도움이 될 수 있습니다. Linux 시스템에서 하는 것처럼 인터넷에서 "top, sar, iostat" 등의 명령 도구를 사용하는 것처럼 OS의 성능 병목 현상이 IO에 있는지 아니면 CPU에 있는지 즉시 알아낼 수 있으므로 수집하는 것이 더 중요합니다. /이러한 성능 데이터를 표시합니다. 중요한 실시간 성능 상태 지표는 무엇입니까? 시스템 및 MySQL 데이터베이스의 성능 부하를 반영할 수 있습니까?
현재 Linux에서 MySQL을 실행하는 것은 대부분의 인터넷 회사에서 표준입니다. 위 그림의 성능 데이터 지표는 Linux, MySQL 및 InnoDB에서 더 중요하다고 생각하는 실시간 상태 데이터입니다. 사실 위 그림의 Doing 열이 더 중요합니다. Doing이라고 불리는 이유는 "processlist, 엔진 innodb 상태, 잠금"과 같은 표시 항목이 현재 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权
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.
./doDBA -h=10.1.x.xx -sys
./doDBA -h=10.1.x.xx -mysql
./doDBA -h=10.1.x.xx -innodb
./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 중국어 웹사이트의 기타 관련 기사를 참조하세요!