이 기사에서는 mysql의 물리적 검사를 수행하고 awr 보고서를 생성하여 데이터베이스의 전반적인 성능을 파악하는 데 사용할 수 있는 4가지 mysql 최적화 도구를 권장합니다.
영상 추천: MySQL 영상 튜토리얼
mysql 실행 성능은 어떤가요? 매개변수가 적절하게 설정되어 있습니까? 계정 설정에 보안 위험이 있는지 확실합니까?
작업을 잘하려면 먼저 도구를 갈고닦아야 한다는 속담이 있습니다. MYSQL 데이터베이스를 정기적으로 물리적으로 검사하는 것은 데이터베이스의 안전한 작동을 보장하는 중요한 수단입니다.
오늘 저는 몇 가지 mysql 최적화 도구를 공유하여 mysql의 물리적 검사를 수행하고 awr 보고서를 생성하여 데이터베이스의 전반적인 성능을 파악할 수 있습니다.
주로 사용되는 mysql용 데이터베이스 성능 진단 도구로, 로그 파일, 스토리지 엔진, 보안 권장 사항 및 성능 분석을 포함한 매개 변수 설정의 합리성을 확인합니다. 잠재적인 문제를 기반으로 개선을 위한 제안을 제공하는 것은 mysql 최적화를 위한 훌륭한 도우미입니다.
이전 버전에서 MySQLTuner는 MySQL/MariaDB/Percona Server에 대해 약 300개의 측정항목을 지원했습니다.
프로젝트 주소 : https://github.com/major/MySQ...
1.1 다운로드
[root@localhost ~]#wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
1.2
[root@localhost ~]# ./mysqltuner.pl --socket /var/lib/mysql/mysql.sock >> MySQLTuner 1.7.4 - Major Hayden <major> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering\[--\] Skipped version check for MySQLTuner scriptPlease enter your MySQL administrative login: rootPlease enter your MySQL administrative password: \[OK\] Currently running supported MySQL version 5.7.23\[OK\] Operating on 64-bit architecture</major>
1.3 사용, 리포트 분석
1) 주의사항[!! ] (대괄호 안에 느낌표가 있는 항목), 예: [!!] 최대 가능한 메모리 사용량: 4.8G(설치된 RAM의 244.13%), 이는 메모리가 심각하게 초과되었음을 나타냅니다.
2) "추천" 마지막 부분에 나오는 제안에 주목하세요.
이것은 mysql을 위한 또 다른 최적화 도구입니다. 이는 mysql 전체를 물리적으로 검사하고 잠재적인 문제에 대한 최적화 제안을 제공합니다.
프로젝트 주소 : https://github.com/BMDan/tuni...
현재 탐지 및 최적화 제안을 지원하는 컨텐츠는 다음과 같습니다.
2.1 다운로드
[root@localhost ~]#wget https://launchpad.net/mysql-tuning-primer/trunk/1.6-r1/+download/tuning-primer.sh
2.2 사용
[root@localhost ~]# [root@localhost dba]# ./tuning-primer.sh -- MYSQL PERFORMANCE TUNING PRIMER -- - By: Matthew Montgomery -
2.3 보고서 분석
빨간색 경고가 있는 옵션에 초점을 맞추고 시스템의 실제 상황에 따른 권장 사항에 따라 수정합니다. 예:
pt-variable-advisor MySQL 변수를 분석하고 발생할 수 있는 문제에 대한 권장 사항을 제시할 수 있습니다.
3.1 설치
https://www.percona.com/downl...
[root@localhost ~]#wget https://www.percona.com/downloads/percona-toolkit/3.0.13/binary/redhat/7/x86\_64/percona-toolkit-3.0.13-re85ce15-el7-x86\_64-bundle.tar\[root@localhost ~\]#yum install percona-toolkit-3.0.13-1.el7.x86_64.rpm
3.2 사용
pt-variable-advisor는 pt 도구 세트의 하위 도구로, 주로 다음 작업에 사용됩니다. 당신을 진단하십시오 매개 변수 설정이 합리적입니까?
[root@localhost ~]# pt-variable-advisor localhost --socket /var/lib/mysql/mysql.sock
3.3 보고서 분석
다음과 같은 WARN 정보가 있는 항목에 중점을 둡니다.
pt-query-digest 주요 기능은 로그에서 정보를 추출하는 것입니다 MySQL 쿼리를 분석하기 위해 목록과 tcpdump를 처리합니다.
4.1 설치
자세한 내용은 3.1절을 참고하세요
4.2 Usage
pt-query-digest는 mysql의 느린 로그를 분석하는데 주로 사용됩니다. py-query_digest 도구가 더 구체적입니다.
[root@localhost ~]# pt-query-digest /var/lib/mysql/slowtest-slow.log
4.3 공통 사용 분석
1) 느린 쿼리 파일 직접 분석:
pt-query-digest /var/lib/mysql/slowtest-slow.log > slow_report.log
2) 지난 12시간 이내의 쿼리 분석:
pt-query-digest --since=12h /var/lib/mysql/slowtest-slow.log > slow_report2.log
3) 지정된 시간 범위 내의 쿼리 분석:
pt-query-digest /var/lib/mysql/slowtest-slow.log --since '2017-01-07 09:30:00' --until '2017-01-07 10:00:00'> > slow_report3.log
4) 분석은 select 문이 포함된 느린 쿼리를 의미합니다
pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' /var/lib/mysql/slowtest-slow.log> slow_report4.log
5) 특정 사용자에 대한 느린 쿼리
pt-query-digest --filter '($event->{user} || "") =~ m/^root/i' /var/lib/mysql/slowtest-slow.log> slow_report5.log
6) 전체 테이블 스캔 또는 전체 조인에 대한 모든 느린 쿼리 쿼리
pt-query-digest --filter '(($event->{Full\_scan} || "") eq "yes") ||(($event->{Full\_join} || "") eq "yes")' /var/lib/mysql/slowtest-slow.log> slow_report6.log
4.4 보고서 분석
1부: 전체 통계 결과
전체: 총 쿼리 수는 무엇입니까? 시간 범위: 쿼리 실행 시간 범위 고유: 쿼리 조건을 매개변수화한 후 총 몇 개의 쿼리가 있습니까? Total min: 최소 max: 최대 avg: 평균 95%: 모든 값을 작은 것부터 큰 것까지 정렬하고, 숫자는 95번째 백분위수에 위치하며, 이 숫자는 일반적으로 가장 많은 참조 값을 가집니다. median: 중앙값, 작은 것부터 모든 값을 정렬합니다. 크면 가운데 숫자가
2부: 쿼리 그룹 통계 결과
Rank: 모든 문장의 순위, 기본적으로 쿼리 시간 기준 내림차순으로 정렬, --order-by: 문장 ID를 통해 쿼리 ID 지정, (과잉 공백 및 텍스트 문자 제거, 해시 값 계산) 응답: 총 응답 시간 time: 이 분석 호출의 총 쿼리 시간: 실행 횟수, 즉 이 분석에서 이 유형의 쿼리 문의 총 개수입니다. R/Call: 각 실행 V/M의 평균 응답 시간입니다. 응답 시간 분산 대 평균 비율 항목: 쿼리 개체
3부: 각 쿼리의 세부 통계 결과
ID: 위 그림의 쿼리 ID에 해당하는 쿼리의 ID 번호 Databases: 데이터베이스 이름 사용자 : 사용자 별 실행 횟수 ( 비율 ) Query_time distribution : 쿼리 시간 분포, 길이는 간격 비율을 반영합니다. 테이블: 쿼리 설명: SQL 문과 관련된 테이블입니다.
인생은 멋집니다. 내일 만나요~
프로그래밍 관련 지식을 더 보려면 프로그래밍 입문을 방문하세요! !
위 내용은 유용한 MySQL 튜닝 도구 4가지 권장의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!