>  기사  >  시스템 튜토리얼  >  MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

王林
王林앞으로
2024-03-10 21:07:46384검색

대부분의 MySQL 성능 지표는 다음 두 가지 방법으로 얻을 수 있습니다.

MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

mysqladmin

mysqladmin 확장 상태 명령을 사용하여 얻은 MySQL 성능 지표는 기본적으로 누적 값으로 표시됩니다. 현재 상태를 알고 싶다면 차이를 계산해야 합니다; --relative(-r) 매개변수를 사용하면 각 지표의 차이를 확인할 수 있으며 --sleep(-i) 매개변수를 사용하면 새로 고침 빈도를 지정할 수 있습니다.

MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

전역 상태 표시

실행 중인 MySQL 서버의 다양한 상태 값, 누적 값을 나열할 수 있습니다.

MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

Mysqladmin 확장 상태 명령과 전역 상태 표시는 많은 표시 항목을 가져옵니다. 실제 적용에서는 다음 성과 지표에 중점을 둡니다.

1.tps/qps

tps: 초당 트랜잭션 수, 초당 트랜잭션 수

qps: 초당 쿼리 수

tps/qps를 계산하는 방법에는 일반적으로 두 가지가 있습니다.

방법 1: com_commit 및 com_rollback을 기준으로 tps를 계산하고, 질문을 기준으로 qps를 계산합니다.

TPS = Com_commit/s + Com_rollback/s

그 중에서도

Com_commit /s= mysqladmin Extended-status --relative --sleep=1|grep -w Com_commit

Com_rollback/s = mysqladmin Extended-status --relative --sleep=1|grep -w Com_rollback

QPS는 초당 MySQL 서버에서 실행되는 총 쿼리 양을 의미하며, 이는 대략 초당 질문(고객 쿼리 수) 상태 값의 변화로 표시되므로 다음과 같습니다.

QPS = mysqladmin Extended-status --relative --sleep=1|grep -w 질문

위 방법에 따라 다음과 같은 MySQL 선택, 삽입, 업데이트, 삭제 횟수 등을 얻을 수도 있습니다.

Com_select/s = mysqladmin Extended-status --relative --sleep=1|grep -w Com_select

Com_select/s: 초당 평균 select 문 실행 횟수

Com_insert/s: 초당 평균 삽입 문 실행 횟수

Com_update/s: 초당 평균 업데이트 문 실행 횟수

Com_delete/s: 초당 평균 삭제 문 실행 횟수

방법 2: com_%를 기준으로 tps, qps 계산

tps= Com_insert/s + Com_update/s + Com_delete/s

qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s

2. 스레드 상태

threads_running: 현재 활성화된 스레드 수

threads_connected: 현재 연결된 스레드 수

3. 교통상황

Bytes_received/s: 초당 모든 클라이언트로부터 수신된 평균 바이트 수, 단위 KB

Bytes_sent/s: 초당 모든 클라이언트에 전송된 평균 바이트 수, 단위 KB

4. innodb 파일 읽기 및 쓰기 횟수

innodb_data_reads: innodb가 초당 파일을 읽는 평균 횟수

innodb_data_writes: innodb가 초당 파일에 쓰는 평균 횟수

innodb_data_fsyncs: innodb가 초당 수행하는 fsync() 작업의 평균 횟수

5.innodb 읽기 및 쓰기 볼륨

innodb_data_read: innodb가 초당 읽는 평균 데이터 양(KB)

innodb_data_write: innodb가 초당 쓴 평균 데이터 양(KB)

6.innodb 버퍼 풀 상태

innodb_buffer_pool_reads: 초당 물리적 ​​디스크에서 읽은 평균 페이지 수

innodb_buffer_pool_read_requests: innodb 버퍼 풀의 초당 평균 읽기 수(논리적 읽기 요청 수)

innodb_buffer_pool_write_requests: 초당 innodb 버퍼 풀에 대한 평균 쓰기 수

innodb_buffer_pool_pages_dirty: innodb 캐시 풀의 초당 평균 더티 페이지 수

innodb_buffer_pool_pages_flushed: innodb 캐시 풀의 초당 평균 플러시 페이지 요청 수

innodb 버퍼 풀 읽기 적중률
innodb_buffer_read_hit_ratio = (1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100

Innodb 버퍼 풀 활용

Innodb_buffer_usage = (1 - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total) * 100

7.innodb 로그

innodb_os_log_fsyncs: 초당 로그 파일에 쓰는 fsync()의 평균 횟수

innodb_os_log_write: 초당 로그 파일에 기록된 평균 바이트 수

innodb_log_writes: 초당 로그 파일에 대한 평균 물리적 쓰기 횟수

innodb_log_write_requests: 초당 평균 로그 쓰기 요청 수

8.innodb 라인

innodb_rows_deleted: 초당 innodb 테이블에서 삭제된 평균 행 수

innodb_rows_inserted: 초당 innodb 테이블에서 삽입된 평균 행 수

innodb_rows_read: 초당 innodb 테이블에서 읽은 평균 행 수

innodb_rows_updated: 초당 innodb 테이블에서 업데이트된 평균 행 수

innodb_row_lock_waits: 행이 잠금을 기다려야 하는 횟수

innodb_row_lock_time: 행 잠금에 소요된 총 시간(밀리초)

innodb_row_lock_time_avg: 평균 행 잠금 시간(밀리초 단위)

9. MyISAM 읽기 및 쓰기 시간

key_read_requests: MyISAM의 초당 버퍼 풀 읽기 평균 횟수

Key_write_requests: 초당 버퍼 풀의 MyISAM 쓰기 평균 횟수

key_reads: MyISAM이 초당 하드 디스크에서 읽는 평균 횟수

key_writes: MyISAM이 초당 하드 디스크에 쓰는 평균 횟수

10.MyISAM 버퍼 풀

MyISAM 초당 평균 키 버퍼 사용률

Key_usage_ratio =Key_blocks_used/(Key_blocks_used+Key_blocks_unused)*100

MyISAM 초당 평균 키 버퍼 읽기 적중률

Key_read_hit_ratio=(1-Key_reads/Key_read_requests)*100

MyISAM 초당 평균 키 버퍼 쓰기 적중률

Key_write_hit_ratio =(1-Key_writes/Key_write_requests)*100

11. 임시 테이블

Created_tmp_disk_tables: 서버가 명령문을 실행할 때 하드디스크에 자동으로 생성되는 임시 테이블 개수

Created_tmp_tables: 서버가 명령문을 실행할 때 자동으로 생성되는 메모리 내 임시 테이블 수

Created_tmp_disk_tables/Created_tmp_tables의 비율은 10%를 넘지 않는 것이 가장 좋습니다. Created_tmp_tables의 값이 상대적으로 크면 정렬 문장이 너무 많거나 연결 문장이 충분히 최적화되지 않은 것일 수 있습니다

12. 기타

slow_queries: 실행 시간이 long_query_time 초를 초과하는 쿼리 수(중요)

sort_rows: 정렬된 행 수

open_files: 열린 파일 수

open_tables: 현재 열려 있는 테이블 수

select_scan: 첫 번째 테이블의 전체 스캔에 대한 조인 수

그 외에도 mysqladmin 확장 상태를 통해 직접 얻을 수 없거나 글로벌 상태를 표시할 수 없는 성능 지표도 있지만 매우 중요합니다.

13. 응답 시간: 응답 시간

Percona는 응답 시간을 측정하는 tcprstat 도구를 제공합니다. 이 기능은 query_response_time_stats=1 매개변수를 설정하여 활성화할 수 있습니다.

응답 시간을 확인하는 방법에는 두 가지가 있습니다:

(1) SHOW QUERY_RESPONSE_TIME 명령을 통해 응답 시간 통계를 봅니다.

(2) INFORMATION_SCHEMA의 QUERY_RESPONSE_TIME 테이블을 통해 봅니다.

http://www.orczhou.com/index.php/2011/09/thanks-percona-response-time-distribution/comment-page-1/(참고 기사)

14. 슬레이브 지연: 슬레이브 지연
슬레이브 노드에서 showslavestatusG 명령을 실행할 수 있습니다. Seconds_Behind_Master 항목의 값은 슬레이브의 현재 지연(초)입니다.

MySQL 성능 지표 및 계산 방법에 대한 자세한 설명

위 내용은 MySQL 성능 지표 및 계산 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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