[MySQL] Global Status

MySQL 서버는 작업에 대한 정보를 제공하는 많은 상태 변수를 유지합니다. SHOW [GLOGL | Session] Status 문을 사용하여 변수와 값을 볼 수 있습니다. 선택적 글로벌 키워드는 모든 연결에 걸쳐 값을 집계하고 Session(세션)은 현재 연결에 대한 값을 표시합니다.

mysql> SHOW GLOBAL STATUS;
+-----------------------------------+------------+
| Variable_name                     | Value      |
+-----------------------------------+------------+
| Aborted_clients                   | 0          |
| Aborted_connects                  | 0          |
| Bytes_received                    | 155372598  |
| Bytes_sent                        | 1176560426 |
...
| Connections                       | 30023      |
| Created_tmp_disk_tables           | 0          |
| Created_tmp_files                 | 3          |
| Created_tmp_tables                | 2          |
...
| Threads_created                   | 217        |
| Threads_running                   | 88         |
| Uptime                            | 1389872    |
+-----------------------------------+------------+


FLUSH STATUS 문에 의해 많은 상태 변수가 0으로 재설정됩니다.

상태 변수는 다음 목록에 표시된 의미를 갖습니다.

+ Aborted_clients
클라이언트가 연결을 올바르게 닫지 않고 접속이 끊겨서 중단된 연결 수입니다.

+ Aborted_connects
MySQL 서버 연결에 실패한 횟수입니다.
추가 연결 관련 정보는 Connection_errors_xxxhost_cache상태 변수 및 host_cache테이블을 확인해야 합니다 .
MySQL 5.7.3부터는 Aborted_connects서버가 업데이트되지 않고 의미가 없기 때문에 임베디드 서버에 표시되지 않습니다.

+ Binlog_cache_disk_use
임시 이진 로그 캐시를 사용했지만 binlog_cache_size 값을 초과하고 임시 파일을 사용하여 트랜잭션의 명령문을 저장하는 트랜잭션 수입니다.
바이너리 로그 트랜잭션 캐시가 디스크에 기록되게 하는 비 트랜잭션 명령문의 수는 Binlog_stmt_cache_disk_use상태변수에서 개별적으로 추적됩니다 

+ Binlog_cache_use
바이너리 로그 캐시를 사용한 트랜잭션 수입니다.

+ Binlog_stmt_cache_disk_use
이진 로그 명령문 캐시를 사용했지만 binlog_stmt_cache_size 값을 초과하고 임시 파일을 사용하여 해당 명령문을 저장하는 비 트랜잭션 명령문의 수입니다.

+ Binlog_stmt_cache_use
바이너리 로그 명령문 캐시를 사용한 비 트랜잭션 명령문의 수

+ Bytes_received
모든 클라이언트로부터받은 바이트 수

+ Bytes_sent
모든 클라이언트에 전송 된 바이트 수

+ Com_xxx
Com_xxx 문 카운터 변수는 각 xxx 문이 실행 된 횟수를 나타냅니다. 각 유형의 명령문마다 하나의 상태 변수가 있습니다.
예를 들어 Com_delete 및 Com_update는 각각 DELETE 및 UPDATE 문을 계산합니다. Com_delete_multi 및 Com_update_multi는 비슷하지만 다중 테이블 구문을 사용하는 DELETE 및 UPDATE 문에 적용됩니다.

쿼리 캐시에서 쿼리 결과가 반환되면 서버는 Com_select가 아닌 Qcache_hits 상태 변수를 증가시킵니다.

준비된 명령문 인수를 알 수 없거나 실행 중에 오류가 발생하더라도 모든 Com_stmt_xxx 변수가 증가합니다.
즉, 해당 값은 성공적으로 완료된 요청 수가 아니라 발행 된 요청 수에 해당합니다.
예를 들어, 상태 변수는 각 서버 시작에 대해 초기화되고 재시작 후에도 지속되지 않기 때문에 SHUTDOWN 문을 추적하는 Com_shutdown 변수는 일반적으로 값이 0이지만 SHUTDOWN 문이 실행되었지만 실패한 경우 0이 아닐 수 있습니다.

Com_stmt_xxx 상태 변수는 다음과 같습니다.
* Com_stmt_prepare
* Com_stmt_execute
* Com_stmt_fetch
* Com_stmt_send_long_data
* Com_stmt_reset
* Com_stmt_close

이러한 변수는 준비된 명령문 명령을 나타냅니다. 해당 이름은 네트워크 계층에서 사용되는 COM_xxx 명령 세트를 나타냅니다.
즉, mysql_stmt_prepare (), mysql_stmt_execute () 등과 같은 준비된 명령문 API 호출이 실행될 때마다 해당 값이 증가합니다.
그러나 Com_stmt_prepare, Com_stmt_execute 및 Com_stmt_close도 각각 PREPARE, EXECUTE 또는 DEALLOCATE PREPARE에 대해 증가합니다.
또한 PREPARE, EXECUTE 및 DEALLOCATE PREPARE 문에 대해 이전 명령문 카운터 변수 Com_prepare_sql, Com_execute_sql 및 Com_dealloc_sql의 값이 증가합니다.
Com_stmt_fetch는 커서에서 가져올 때 발행 된 총 네트워크 왕복 수를 나타냅니다.

Com_stmt_reprepare는 명령문이 참조하는 테이블이나 뷰로 메타 데이터가 변경된 후 서버가 명령문을 자동으로 다시 준비한 횟수를 나타냅니다. 재조정 작업은 Com_stmt_reprepare와 Com_stmt_prepare를 증가시킵니다.

Com_explain_other는 실행 된 EXPLAIN FOR CONNECTION 문의 수를 나타냅니다.

Com_change_repl_filter는 실행 된 CHANGE REPLICATION FILTER 문의 수를 나타냅니다.

+ Compression
클라이언트 연결이 클라이언트 / 서버 프로토콜에서 압축을 사용하는지 여부

+ Connection_errors_xxx
이 변수는 클라이언트 연결 프로세스 중에 발생하는 오류에 대한 정보를 제공합니다. 이들은 전역 전용이며 모든 호스트의 연결에서 집계 된 오류 수를 나타냅니다.
이러한 변수는 TCP 연결과 관련이없는 오류와 같이 호스트 캐시에서 설명하지 않은 오류 (8.12.5.2 절“DNS 조회 최적화 및 호스트 캐시”참조)를 추적합니다.
IP 주소가 알려져 있거나 특정 IP 주소 (예 : 메모리 부족 조건)에 고유하지 않습니다.

MySQL 5.7.3부터는 Connection_errors_xxx 상태 변수가 해당 서버에 대해 업데이트되지 않고 의미가 없으므로 내장 서버에 표시되지 않습니다.
* Connection_errors_accept
응답 포트에서 accept() 함수를 호출하는동안 발생한 오류 수입니다 .
* Connection_errors_internal
새 스레드 시작 실패 또는 메모리 부족 상태와 같은 서버의 내부 오류로 인해 연결이 거부되었습니다.
* Connection_errors_max_connections
서버 max_connections제한에 도달하여 연결이 거부되었습니다 .
* Connection_errors_peer_address
클라이언트 IP 주소 연결을 검색하는 동안 발생한 오류 수
* Connection_errors_select
청취 포트에 대한 호출 select()또는 poll()청취 포트에서 발생한 오류 수입니다. 이 작업이 실패했다고 해서 반드시 클라이언트 연결이 거부 된 것은 아닙니다.
* Connection_errors_tcpwrap
libwrap 라이브러리에서 거부 한 연결 수입니다 .

+ Connections
MySQL 서버에 대한 연결 시도 횟수 (성공 여부)

+ Created_tmp_disk_tables
명령문을 실행하는 동안 서버가 작성한 내부 온 디스크 임시 테이블 수

내부 임시 테이블이 초기에 메모리 내 테이블로 생성되었지만 너무 커지면 MySQL은 자동으로 테이블을 온 디스크 테이블로 변환합니다.
인 메모리 임시 테이블의 최대 크기는 최소 tmp_table_size 및 max_heap_table_size 값입니다.
Created_tmp_disk_tables가 크면 tmp_table_size 또는 max_heap_table_size 값을 증가시켜 메모리의 내부 임시 테이블이 디스크 상 테이블로 변환 될 가능성을 줄여야 합니다.

Created_tmp_disk_tables 및 Created_tmp_tables 변수의 값을 비교하여 작성된 내부 온 디스크 임시 테이블 수와 작성된 총 내부 임시 테이블 수를 비교할 수 있습니다.

+ Created_tmp_files
mysqld가 생성 한 임시 파일 수

+ Created_tmp_tables
명령문을 실행하는 동안 서버가 작성한 내부 임시 테이블 수
Created_tmp_disk_tables 및 Created_tmp_tables 변수의 값을 비교하여 작성된 내부 온 디스크 임시 테이블 수와 작성된 총 내부 임시 테이블 수를 비교할 수 있습니다.

+ Flush_commands
사용자가 FLUSH TABLES 문을 실행했거나 내부 서버 조작으로 인해 서버가 테이블을 플러시하는 횟수입니다. COM_REFRESH 패킷을 수신하면 증가합니다.
이는 FLUSH TABLES, FLUSH LOGS 등 실행 된 FLUSH 문 수를 나타내는 Com_flush와 대조적입니다.

+ group_replication_primary_member
그룹이 단일 기본 모드로 작동 중일 때 기본 멤버의 UUID를 표시합니다. 그룹이 다중 기본 모드에서 작동중인 경우 빈 문자열을 표시합니다.

+ Handler_commit
내부 COMMIT 명령 실행의 수

+ Handler_delete
ROW가 테이블에서 삭제 된 횟수입니다.

+ Handler_external_lock
서버는 external_lock () 함수를 호출 할 때마다이 변수를 증가시킵니다. 이 함수는 일반적으로 테이블 인스턴스에 대한 액세스 시작 및 종료시 발생합니다.
스토리지 엔진간에 차이가있을 수 있습니다. 예를 들어,이 변수를 사용하여 잠금이 발생하기 전에 분할 된 파티션 수를 분할 된 테이블에 액세스하는 명령문을 발견 할 수 있습니다.
명령문에 대해 카운터가 얼마나 증가했는지 확인하고 2 (테이블 자체에 대한 2 호출)를 뺀 다음 파티션 수를 잠 그려면 2로 나눕니다.

+ Handler_mrr_init
서버가 테이블 액세스를 위해 스토리지 엔진 자체의 다중 범위 읽기 구현을 사용하는 횟수입니다.

+ Handler_prepare
투페이즈 커밋 작업의 준비 단계에 대한 카운터입니다.

+ Handler_read_first
인덱스의 첫 번째 항목을 읽은 횟수입니다. 이 값이 크면 서버가 전체 인덱스 스캔을 많이 수행하고 있음을 나타냅니다 (예 : col1이 인덱스되었다고 가정 한 SELECT col1 FROM foo).

+ Handler_read_key
키를 기반으로 행을 읽는 요청 수입니다. 이 값이 크면 테이블이 쿼리에 대해 올바르게 인덱싱 된 것입니다.

+ Handler_read_last
인덱스에서 마지막 키를 읽기위한 요청 수 ORDER BY를 사용하면 서버는 첫 번째 키 요청과 여러 개의 다음 키 요청을 발행하는 반면 ORDER BY DESC를 사용하면 서버는 마지막 키 요청과 여러 이전 키 요청을 발행합니다.

+ Handler_read_next
키 순서로 다음 행을 읽는 요청 수입니다. 범위 제한 조건이있는 인덱스 컬럼을 쿼리하거나 인덱스 스캔을 수행하는 경우 이 값이 증가합니다.

+ Handler_read_prev
키 순서로 이전 행을 읽는 요청 수입니다. 이 읽기 방법은 주로 ORDER BY ... DESC를 최적화하는 데 사용됩니다.

+ Handler_read_rnd
고정 된 위치를 기준으로 행 읽기 요청 수입니다. 결과 정렬이 필요한 쿼리를 많이 수행하는 경우이 값이 높습니다. 전체 테이블을 스캔하기 위해 MySQL이 필요한 많은 쿼리가 있거나 키를 올바르게 사용하지 않는 조인이 있을 수 있습니다.

+ Handler_read_rnd_next
데이터 파일에서 다음 행을 읽기위한 요청 수. 테이블 스캔을 많이 수행하는 경우이 값이 높습니다. 일반적으로 이는 테이블이 올바르게 색인화되지 않았거나 색인을 이용하기 위해 쿼리가 작성되지 않았 음을 나타냅니다.

+ Handler_rollback
스토리지 엔진이 롤백 조작을 수행하기위한 요청 수 입니다.

+ Handler_savepoint
스토리지 엔진이 세이브 포인트를 배치하도록 요청한 횟수입니다.

+ Handler_savepoint_rollback
스토리지 엔진이 세이브 포인트로 롤백하기위한 요청 수입니다.

+ Handler_update
테이블에서 행을 업데이트하기위한 요청 수입니다.

+ Handler_write
테이블에 행을 삽입하기위한 요청 수입니다.

+ Innodb_buffer_pool_dump_status
innodb_buffer_pool_dump_at_shutdown 또는 innodb_buffer_pool_dump_now의 설정에 의해 트리거되는 InnoDB 버퍼 풀에 보유 된 페이지를 기록하는 작업 진행률.

+ Innodb_buffer_pool_load_status
innodb_buffer_pool_load_at_startup 또는 innodb_buffer_pool_load_now의 설정에 의해 트리거되는 이전 시점에 해당하는 페이지 세트를 읽음으로써 InnoDB 버퍼 풀을 예열하는 작업의 진행 상황.
작업에 오버 헤드가 너무 많이 발생하면 innodb_buffer_pool_load_abort를 설정하여 취소 할 수 있습니다.

+ Innodb_buffer_pool_bytes_data
The total number of bytes in the InnoDB buffer pool containing data. The number includes both dirty and clean pages.
For more accurate memory usage calculations than with Innodb_buffer_pool_pages_data, when compressed tables cause the buffer pool to hold pages of different sizes.
데이터를 포함하는 InnoDB 버퍼 풀의 총 바이트 수입니다. 더티 페이지와 클린 페이지가 모두 포함됩니다.
압축 된 테이블로 인해 버퍼 풀이 다른 크기의 페이지를 보유 할 때 Innodb_buffer_pool_pages_data보다 정확한 메모리 사용량 계산을 위해 사용됩니다.

+ Innodb_buffer_pool_pages_data

데이터를 포함하는 InnoDB 버퍼 풀의 페이지 수입니다. 더티 페이지와 클린 페이지가 모두 포함됩니다.
압축 된 테이블을 사용할 때보고 된 Innodb_buffer_pool_pages_data 값은 Innodb_buffer_pool_pages_total (버그 # 59550)보다 클 수 있습니다.

+ Innodb_buffer_pool_bytes_dirty
버퍼 풀의 더티 페이지 에 보유 된 총 현재 바이트 수 . 보다 더 정확한 메모리 사용량 계산의 경우 , 압축 된 테이블은 다양한 크기의 보류 페이지에 버퍼 풀 원인이됩니다. InnoDB Innodb_buffer_pool_pages_dirty

+ Innodb_buffer_pool_pages_dirty
InnoDB 버퍼풀의 현제 더티 페이지 수
  
+ Innodb_buffer_pool_pages_flushed
InnoDB 버퍼풀에서 플러시 페이지가 요청된 수

+ Innodb_buffer_pool_pages_free
InnoDB 버퍼풀에서 사용가능한 페이지 수

+ Innodb_buffer_pool_pages_latched InnoDB 버퍼 풀의 래치된 페이지 수입니다. 이러한 페이지는 현재 읽거나 쓰거나 다른 이유로 플러시하거나 제거할 수 없는 페이지입니다. 이 변수의 계산은 비용이 많이 들기 때문에 UNIV_DEBUG 시스템이 서버 빌드 시간에 정의된 경우에만 사용할 수 있습니다.


+ Innodb_buffer_pool_pages_misc
InnoDB 버퍼 풀에서 행 잠금 또는 적응 형 해시 인덱스와 같이 관리 오버 헤드에 할당되어 사용중인 페이지 수입니다.
이 값은 Innodb_buffer_pool_pages_total − Innodb_buffer_pool_pages_free − Innodb_buffer_pool_pages_data로 계산할 수도 있습니다.
압축 된 테이블을 사용할 때 Innodb_buffer_pool_pages_misc는 범위를 벗어난 값을보고 할 수 있습니다 (버그 # 59550).

+ Innodb_buffer_pool_pages_total
InnoDB 버퍼 풀의 총 크기 (페이지)입니다. 압축 된 테이블을 사용하는 경우보고 된 Innodb_buffer_pool_pages_data 값이 Innodb_buffer_pool_pages_total (버그 # 59550)보다 클 수 있습니다.

+ Innodb_buffer_pool_read_ahead
미리 읽기 백그라운드 스레드가 InnoDB 버퍼 풀로 읽은 페이지 수입니다.

+ Innodb_buffer_pool_read_ahead_evicted
쿼리에 의해 액세스되지 않고 추후에 제거 된 미리 읽기 백그라운드 스레드가 InnoDB 버퍼 풀로 읽은 페이지 수입니다.

+ Innodb_buffer_pool_read_ahead_rnd
InnoDB가 시작한 "무작위"미리 읽기 수 이것은 쿼리가 테이블의 많은 부분을 임의 순서로 스캔 할 때 발생합니다.

+ Innodb_buffer_pool_read_requests
논리적 읽기 요청 수

+ Innodb_buffer_pool_reads
InnoDB가 버퍼 풀에서 만족할 수없고 디스크에서 직접 읽어야하는 논리적 읽기 수입니다.

+ Innodb_buffer_pool_resize_status
innodb_buffer_pool_size 매개 변수를 동적으로 설정하여 트리거 된 InnoDB 버퍼 풀 크기를 조정하는 작업 상태.
innodb_buffer_pool_size 매개 변수는 동적이므로 서버를 다시 시작하지 않고 버퍼 풀의 크기를 조정할 수 있습니다. 관련 정보는 InnoDB 버퍼 풀 크기 온라인 구성을 참조합니다.


+ Innodb_buffer_pool_wait_free
일반적으로 InnoDB 버퍼 풀에 대한 쓰기는 백그라운드에서 발생합니다.
InnoDB가 페이지를 읽거나 작성해야하고 사용 가능한 클린 페이지가없는 경우 InnoDB는 더티 페이지를 먼저 플러시하고 해당 작업이 완료되기를 기다립니다.
이 카운터는 이러한 대기 인스턴스를 계산합니다. innodb_buffer_pool_size가 올바르게 설정된 경우이 값은 작아야합니다.

+ Innodb_buffer_pool_write_requests
InnoDB 버퍼 풀 에 대한 쓰기 수입니다 .

+ Innodb_data_fsyncs
지금까지 fsync () 작업 수 fsync () 호출 빈도는 innodb_flush_method 구성 옵션의 설정에 영향을받습니다.

+ Innodb_data_pending_fsyncs
보류중인 fsync () 작업의 현재 수 fsync () 호출 빈도는 innodb_flush_method 구성 옵션의 설정에 영향을받습니다.

+ Innodb_data_pending_reads
현재 보류중인 읽기 수입니다.

+ Innodb_data_pending_writes
현재 보류중인 쓰기 수

+ Innodb_data_read
서버가 시작된 이후 읽은 데이터의 양 (바이트).

+ Innodb_data_reads
총 데이터 읽기 수 (OS 파일 읽기)

+ Innodb_data_writes
총 데이터 쓰기 수

+ Innodb_data_written
지금까지 쓴 데이터 양 (바이트)입니다.

+ Innodb_dblwr_pages_written
이중쓰기 버퍼에 쓴 페이지 수입니다.

+ Innodb_dblwr_writes
수행된 이중 쓰기 조작 수입니다.

+ Innodb_have_atomic_builtins
서버가 원자 명령어(Atomic)로 빌드되었는지 여부를 나타냅니다.

+ Innodb_log_waits
로그 버퍼가 너무 작아서 계속하기 전에 플러시하기 위해 대기해야하는 횟수입니다.

+ Innodb_log_write_requests
InnoDB 재실행 로그에 대한 쓰기 요청 수 입니다 .

+ Innodb_log_writes
InnoDB 리두 로그 파일에 실제 쓰기 수입니다 .

+ Innodb_num_open_files
InnoDB가 현재 보유하고있는 파일 수입니다.

+ Innodb_os_log_fsyncs
InnoDB 리두 로그 파일에 수행된 fsync () 쓰기 수

+ Innodb_os_log_pending_fsyncs
InnoDB 리두 로그 파일에 대한 보류중인 fsync () 작업 수입니다.

+ Innodb_os_log_pending_writes
InnoDB 리두 로그 파일에 보류중인 쓰기 수입니다 .

+ Innodb_os_log_written
InnoDB 리두 로그 파일에 기록 된 바이트 수

+ Innodb_page_size
InnoDB 페이지 크기 (기본값 16KB) 많은 값이 페이지에 계산됩니다. 페이지 크기를 사용하면 쉽게 바이트로 변환 할 수 있습니다.

+ Innodb_pages_created
InnoDB테이블 조작으로 작성된 페이지 수입니다 .

+ Innodb_pages_read
InnoDB 테이블에서 조작하여 InnoDB 버퍼 풀에서 읽은 페이지 수입니다.

+ Innodb_pages_written
InnoDB테이블에서 조작으로 쓴 페이지 수입니다 .

+ Innodb_row_lock_current_waits
InnoDB 테이블에 대한 조작으로 현재 대기중인 행 잠금 수

+ Innodb_row_lock_time
InnoDB 테이블의 행 잠금을 획득하는 데 소요 된 총 시간 (밀리 초)입니다.

+ Innodb_row_lock_time_avg
InnoDB 테이블에 대한 행 잠금을 획득하는 데 걸린 평균 시간 (밀리 초)입니다.

+ Innodb_row_lock_time_max
InnoDB 테이블의 행 잠금을 획득하는 최대 시간 (밀리 초)입니다.

+ Innodb_row_lock_waits
InnoDB 테이블 작업이 행 잠금 을 기다려야 하는 횟수입니다 .

+ Innodb_rows_deleted
InnoDB 테이블에서 삭제된 행 수입니다 .

+ Innodb_rows_inserted
InnoDB 테이블에 삽입된 행 수

+ Innodb_rows_read
InnoDB테이블에서 읽은 행 수입니다 .

+ Innodb_rows_updated
InnoDB 테이블에서 업데이트된 행 수입니다 .

+ Innodb_truncated_status_writes
SHOW ENGINE INNODB STATUS명령문의 출력이 잘린 횟수입니다 .

+ Key_blocks_not_flushed
MyISAM키 캐시에서 변경되었지만 아직 디스크로 플러시되지 않은 키 블록 수입니다 .

+ Key_blocks_unused
MyISAM 키 캐시 에서 사용되지 않은 블록 수 이 값을 사용하여 사용중인 키 캐시의 양을 판별 할 수 있습니다.

+ Key_blocks_used
MyISAM키 캐시 에서 사용 된 블록 수 이 값은 한 번에 사용 된 최대 블록 수를 나타내는 최고 사용 표시 점입니다.

+ Key_read_requests
MyISAM키 캐시 에서 키 블록을 읽기위한 요청 수

+ Key_reads
디스크에서 MyISAM 키 캐시로 키 블록을 실제로 읽은 횟수입니다. Key_reads가 크면 key_buffer_size 값이 너무 작을 수 있습니다. 캐시 미스 레이트는 Key_reads / Key_read_requests로 계산할 수 있습니다.

+ Key_write_requests
MyISAM키 캐시에 키 블록을 쓰는 요청 수입니다 .

+ Key_writes
MyISAM키 캐시에서 디스크 로 키 블록의 실제 쓰기 수입니다 .

+ Last_query_cost
쿼리 최적화 프로그램에서 계산 한 마지막 컴파일 된 쿼리의 총 비용입니다. 이는 동일한 쿼리에 대해 다른 쿼리 계획의 비용을 비교하는 데 유용합니다.
기본값 0은 아직 쿼리가 컴파일되지 않았 음을 의미합니다. 기본값은 0입니다. Last_query_cost에는 세션 범위가 있습니다.

Last_query_cost는 단순 "플랫"쿼리에 대해서만 정확하게 계산할 수 있지만 하위 쿼리 나 UNION을 포함하는 쿼리와 같은 복잡한 쿼리에 대해서는 정확하게 계산할 수 없습니다. 후자의 경우 값이 0으로 설정됩니다.

+ Last_query_partial_plans
이전 쿼리에 대한 실행 계획 구성에서 쿼리 최적화 프로그램이 반복 한 횟수입니다. Last_query_cost세션 범위가 있습니다.

+ Locked_connects
잠긴 사용자 계정에 연결하려는 횟수입니다.

+ Max_execution_time_exceeded
SELECT실행 제한 시간을 초과 한 명령문 수

+ Max_execution_time_set
0이 아닌 실행 시간 종료가 설정된 SELECT 문의 수.
여기에는 0이 아닌 MAX_EXECUTION_TIME 옵티마이저 힌트를 포함하는 명령문과 max_execution_time 시스템 변수가 표시하는 시간 종료가 0이 아닌 동안 힌트를 포함하지만 실행되는 명령문이 포함됩니다.

+ Max_execution_time_set_failed
SELECT실행 제한 시간을 설정하려는 시도가 실패한 명령문 수 입니다 .

+ Max_used_connections
서버가 시작된 이후 동시에 사용중인 최대 연결 수입니다.

+ Max_used_connections_time
Max_used_connections가 현재 값에 도달 한 시간입니다.

+ mecab_charset
MeCab 전체 텍스트 파서 플러그인에서 현재 사용하는 문자 세트입니다.

+ Ongoing_anonymous_transaction_count
익명으로 표시된 진행중인 트랜잭션 수를 나타냅니다. 이것은 더 이상 트랜잭션이 처리되기를 기다리지 않도록하기 위해 사용될 수 있습니다.

+ Ongoing_anonymous_gtid_violating_transaction_count
이 상태 변수는 디버그 빌드에서만 사용 가능합니다. gtid_next = ANONYMOUS를 사용하고 GTID 일관성을 위반하는 진행중인 트랜잭션 수를 나타냅니다.

+ Ongoing_automatic_gtid_violating_transaction_count
이 상태 변수는 디버그 빌드에서만 사용 가능합니다. gtid_next = AUTOMATIC을 사용하고 GTID 일관성을 위반하는 진행중인 트랜잭션 수를 나타냅니다.

+ Open_files
열린 파일 수입니다. 이 수에는 서버에서 연 일반 파일이 포함됩니다.
소켓이나 파이프와 같은 다른 유형의 파일은 포함하지 않습니다. 또한 서버 레벨을 요구하지 않고 자체 내부 기능을 사용하여 스토리지 엔진이 여는 파일은 포함되지 않습니다.

+ Open_streams
열린 스트림 수 (주로 로깅에 사용됨).

+ Open_table_definitions
캐시된 .frm파일 수

+ Open_tables
열려있는 테이블 수

+ Opened_files
my_open() (mysys 라이브러리 함수)으로 연 파일 수입니다. 이 기능을 사용하지 않고 파일을 여는 서버 부분은 카운트를 증가시키지 않습니다.

+ Opened_table_definitions
캐시되었던 .frm 파일 수
Open_table_definitions 상태변수와 다름!

+ Opened_tables
열린 테이블 수. Opened_tables가 크면 table_open_cache 값이 너무 작을 수 있습니다.

+ Performance_schema_xxx
성능 스키마 상태 변수는 25.16 절.“성능 스키마 상태 변수”에 나와 있습니다. 이 변수는 메모리 제약으로 인해로드하거나 만들 수없는 계측에 대한 정보를 제공합니다.

+ Prepared_stmt_count
준비된 명령문의 현재 수.(최대 명령문 수는 max_prepared_stmt_count 시스템 변수에 의해 제공됩니다 .)

+ Queries
서버가 실행 한 명령문 수 이 변수에는 질문 변수와 달리 저장된 프로그램 내에서 실행 된 명령문이 포함됩니다. COM_PING 또는 COM_STATISTICS 명령은 계산하지 않습니다.
이 섹션의 시작 부분에서는이 계산서 계산 상태 변수를 다른 변수와 연관시키는 방법을 설명합니다.

+ Questions
서버가 실행 한 명령문 수 여기에는 Queries 변수와 달리 클라이언트가 서버로 보낸 명령문 만 포함되며 저장된 프로그램 내에서 실행 된 명령문은 포함되지 않습니다.
이 변수는 COM_PING, COM_STATISTICS, COM_STMT_PREPARE, COM_STMT_CLOSE 또는 COM_STMT_RESET 명령을 계산하지 않습니다.

+ Rpl_semi_sync_master_clients
반동기(semi replication) 슬레이브의 수
이 변수는 마스터 측 반 동기식 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_net_avg_wait_time
마스터가 슬레이브 응답을 기다리는 평균 시간 (마이크로 초). 이 변수는 더 이상 사용되지 않으며 항상 0입니다. 향후 버전에서 제거 될 예정입니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_net_wait_time
마스터가 슬레이브 응답을 기다리는 총 시간 (마이크로 초). 이 변수는 더 이상 사용되지 않으며 항상 0입니다. 향후 버전에서 제거 될 예정입니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_net_waits
마스터가 슬레이브 응답을 기다린 총 횟수입니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_no_times
마스터가 반 동기식 복제를 해제 한 횟수입니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_no_tx
슬레이브가 성공적으로 승인하지 않은 커밋 수
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_status
반동기(semi replication) 복제가 현재 마스터에서 작동하는지 여부 플러그인이 사용 가능하고 확약 승인이 발생한 경우 값은 ON입니다.
플러그인이 사용 가능하지 않거나 확약 승인 시간 종료로 인해 마스터가 비동기 복제로 폴백 된 경우 OFF입니다.
이 변수는 마스터측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_timefunc_failures
gettimeofday ()와 같은 시간 함수를 호출 할 때 마스터가 실패한 횟수입니다.
이 변수는 마스터 측 반 동기식 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_tx_avg_wait_time
마스터가 각 트랜잭션을 기다린 평균 시간 (마이크로 초).
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_tx_wait_time
마스터가 트랜잭션을 기다리는 총 시간 (마이크로 초).
이 변수는 마스터 측 반 동기식 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_tx_waits
마스터가 트랜잭션을 기다린 총 횟수입니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_wait_pos_backtraverse
이전에 대기 한 이벤트보다 바이너리 좌표가 낮은 이벤트를 마스터가 대기 한 총 횟수입니다.
트랜잭션이 응답 대기를 시작하는 순서가 바이너리 로그 이벤트가 작성된 순서와 다른 경우에 발생할 수 있습니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_wait_sessions
현재 슬레이브 응답을 기다리는 세션 수입니다.
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_master_yes_tx
슬레이브가 성공적으로 승인 한 커밋 수
이 변수는 마스터 측 반 동기식(semi replication) 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rpl_semi_sync_slave_status
반동기 복제가 현재 슬레이브에서 작동 중인지 여부 플러그인이 활성화되고 슬레이브 I / O 스레드가 실행 중이면 ON이고 그렇지 않으면 OFF입니다.
이 변수는 슬레이브 측 반 동기식 복제 플러그인이 설치된 경우에만 사용할 수 있습니다.

+ Rsa_public_key
이 변수는 MySQL이 OpenSSL을 사용하여 컴파일된 경우 사용할 수 있습니다. 이 값은 RSA 키 쌍 기반 암호 교환을 위해 sha256_password 인증 플러그인이 사용하는 공개 키입니다. 이 값은 서버가 sha256_password_private_key_path 및 sha256_password_public_key_path 시스템 변수로 명명된 파일에서 개인 및 공용 키를 성공적으로 초기화하는 경우에만 비어 있지 않습니다. Rsa_public_key 값은 후자 파일에서 가져옵니다.

+ Select_full_join
인덱스를 사용하지 않기 때문에 테이블 스캔을 수행하는 조인 수입니다. 이 값이 0이 아닌 경우 테이블 인덱스를 신중하게 확인해야합니다.

+ Select_full_range_join
참조 테이블에서 범위 검색을 사용한 조인 수입니다.

+ Select_range
사용 된 조인 수는 첫 번째 테이블의 범위입니다. 값이 상당히 크더라도 일반적으로 중요한 문제는 아닙니다.

+ Select_range_check
각 행 이후의 키 사용을 확인하는 키가없는 조인 수입니다. 이 값이 0이 아닌 경우 테이블 인덱스를 신중하게 확인해야합니다.

+ Select_scan
첫 번째 테이블을 전체 스캔 한 조인 수입니다.

+ Slave_heartbeat_period
복제 슬레이브에서 복제 하트 비트 간격 (초)을 표시합니다.
이 변수는 show_compatibility_56시스템 변수 의 값에 영향을받습니다 . 자세한 내용 은 슬레이브 상태 변수에 대한 show_compatibility_56의 영향을 참조하십시오 .
노트
이 변수는 기본 복제 채널의 상태 만 표시합니다. 복제 채널을 모니터하려면 테이블 의 HEARTBEAT_INTERVAL열을 사용하여 복제 채널을 사용하십시오.
replication_connection_configuration. Slave_heartbeat_period는 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다.

+ Slave_last_heartbeat
복제 슬레이브가 가장 최근의 하트 비트 신호를 수신한 시기를 TIMESTAMP값으로 표시합니다.
이 변수는 show_compatibility_56 시스템 변수 의 값에 영향을받습니다 .


참고사항
이 변수는 기본 복제 채널의 상태 만 표시합니다. 복제 채널을 모니터하려면 테이블 의 LAST_HEARTBEAT_TIMESTAMP열을 사용하여 복제 채널을 사용하십시오 replication_connection_status. Slave_last_heartbeat는 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다.

+ Slave_open_temp_tables
슬레이브 SQL 스레드가 현재 연 임시 테이블 수입니다. 값이 0보다 크면 슬레이브를 종료하는 것이 안전하지 않습니다.
이 변수는 모든 복제 채널에 대해 열린 임시 테이블의 총 수를 보고합니다.

+ Slave_received_heartbeats
이 카운터는 마지막으로 슬레이브가 다시 시작되거나 재설정되거나 CHANGE MASTER TO명령문이 실행 된 이후 복제 슬레이브가 수신 한 각 복제 하트 비트와 함께 증가 합니다.
이 변수는 show_compatibility_56 시스템 변수 의 값에 영향을받습니다.


참고사항 
이 변수는 기본 복제 채널의 상태 만 표시합니다. 복제 채널을 모니터하려면 테이블 의 COUNT_RECEIVED_HEARTBEATS열을 사용하여 복제 채널을 사용하십시오 replication_connection_status. Slave_received_heartbeats 는 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다.

+ Slave_retried_transactions
시작 이후 복제 슬레이브 SQL 스레드가 트랜잭션을 재 시도한 총 횟수입니다.
이 변수는 show_compatibility_56 시스템 변수 의 값에 영향을받습니다.

 

참고사항
이 변수는 기본 복제 채널의 상태 만 표시합니다. 복제 채널을 모니터하려면 테이블 의 COUNT_TRANSACTIONS_RETRIES열을 사용하여 복제 채널을 사용하십시오 replication_applier_status. Slave_retried_transactions 는 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다.

+ Slave_rows_last_search_algorithm_used
이 슬레이브가 행 기반 복제를위한 행을 찾기 위해 가장 최근에 사용한 검색 알고리즘입니다. 결과는 슬레이브가 인덱스, 테이블 스캔 또는 해싱을 임의의 채널에서 실행 된 마지막 트랜잭션의 검색 알고리즘으로 사용했는지 여부를 보여줍니다.
사용되는 방법은 slave_rows_search_algorithms 시스템 변수 설정 및 관련 테이블에서 사용 가능한 키 에 따라 다릅니다 .
이 변수는 MySQL의 디버그 빌드에만 사용할 수 있습니다.

+ Slave_running
이 서버가 복제 마스터에 연결된 복제 슬레이브이고 I / O 및 SQL 스레드가 모두 실행 중이면 ON입니다. 그렇지 않으면 OFF입니다.
이 변수는 show_compatibility_56 시스템 변수의 값에 영향을받습니다. 자세한 내용은 슬레이브 상태 변수에 대한 show_compatibility_56의 영향을 참조하십시오.
노트
이 변수는 기본 복제 채널의 상태 만 표시합니다. 복제 채널을 모니터링하려면 복제 채널의 replication_applier_status 또는 replication_connection_status 테이블에서 SERVICE_STATE 열을 사용하십시오.
Slave_running은 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다.

+ Slow_launch_threads
slow_launch_time 초 이상 걸리는 스레드 수입니다.
이 변수는 임베디드 서버 (libmysqld)에서는 의미가 없으며 MySQL 5.7.2부터는 임베디드 서버에서 더 이상 볼 수 없습니다.

+ Slow_queries
long_query_time 초 이상 걸린 쿼리 수입니다. 이 카운터는 느린 쿼리 로그 사용 여부에 관계없이 증가합니다. 해당 로그에 대한 자세한 내용은 5.4.5 절“느린 쿼리 로그”를 참조하십시오.

+ Sort_merge_passes
정렬 알고리즘이 수행해야하는 병합 패스 수 입니다. 이 값이 크면 sort_buffer_size 시스템 변수 의 값을 늘리는 것을 고려해야 합니다.

+ Sort_range
범위를 사용하여 수행 된 정렬 수

+ Sort_rows
정렬 된 행 수입니다.

+ Sort_scan
테이블을 스캔하여 수행 한 정렬 수입니다.

+ Ssl_accept_renegotiates
연결을 설정하는 데 필요한 협상 수

+ Ssl_accepts
허용 된 SSL 연결 수

+ Ssl_callback_cache_hits
콜백 캐시 적중 횟수

+ Ssl_cipher
현재 암호화 암호 (암호화되지 않은 연결의 경우 비어 있음)

+ Ssl_cipher_list
가능한 SSL 암호 목록 (비 SSL 연결의 경우 비어 있음).

+ Ssl_client_connects
SSL 사용 가능 마스터에 대한 SSL 연결 시도 횟수입니다.

+ Ssl_connect_renegotiates
SSL 사용 가능 마스터에 연결하는 데 필요한 협상 수입니다.

+ Ssl_ctx_verify_depth
SSL 컨텍스트 검증 깊이 (체인에서 몇 개의 인증서를 테스트했는지)

+ Ssl_ctx_verify_mode
SSL 컨텍스트 확인 모드

+ Ssl_default_timeout
기본 SSL 시간 종료.

+ Ssl_finished_accepts
서버에 대한 성공적인 SSL 연결 수입니다.

+ Ssl_finished_connects
SSL 사용 가능 마스터에 대한 성공적인 슬레이브 연결 수입니다.

+ Ssl_server_not_after
SSL 인증서가 유효한 마지막 날짜입니다. SSL 인증서 만료 정보를 확인하려면 다음 명령문을 사용하십시오.

mysql> SHOW STATUS LIKE 'Ssl_server_not%'; 
+-----------------------+--------------------------+ 
| Variable_name         | Value                    | 
+-----------------------+--------------------------+ 
| Ssl_server_not_after  | Apr 28 14:16:39 2025 GMT | 
| Ssl_server_not_before | May  1 14:16:39 2015 GMT | 
+-----------------------+--------------------------+ 


+ Ssl_server_not_before
SSL 인증서가 유효한 첫 번째 날짜입니다.

+ Ssl_session_cache_hits
SSL 세션 캐시 적중 횟수

+ Ssl_session_cache_misses
SSL 세션 캐시 누락 수입니다.

+ Ssl_session_cache_mode
SSL 세션 캐시 모드

+ Ssl_session_cache_overflows
SSL 세션 캐시 오버 플로우 수

+ Ssl_session_cache_size
SSL 세션 캐시 크기

+ Ssl_session_cache_timeouts
SSL 세션 캐시 시간 초과 수

+ Ssl_sessions_reused
캐시에서 재사용 된 SSL 연결 수

+ Ssl_used_session_cache_entries
사용 된 SSL 세션 캐시 항목 수

+ Ssl_verify_depth
복제 SSL 연결의 검증 깊이.

+ Ssl_verify_mode
서버가 SSL을 사용하는 연결에 사용하는 확인 모드입니다. 값은 비트 마스크입니다. 비트는 openssl/ssl.h헤더 파일에 정의되어 있습니다.
# define SSL_VERIFY_NONE                 0x00
# define SSL_VERIFY_PEER                 0x01
# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
# define SSL_VERIFY_CLIENT_ONCE          0x04
SSL_VERIFY_PEER서버가 클라이언트 인증서를 요청 함을 나타냅니다. 클라이언트가 하나를 제공하면 서버는 확인을 수행하고 확인이 성공한 경우에만 진행합니다. SSL_VERIFY_CLIENT_ONCE 클라이언트 인증서 요청은 초기 핸드 셰이크에서만 수행됨을 나타냅니다.

+ Ssl_version
연결의 SSL 프로토콜 버전 (예 : TLSv1) 연결이 암호화되지 않은 경우 값이 비어 있습니다.

+ Table_locks_immediate
테이블 잠금 요청을 즉시 승인 할 수 있는 횟수입니다.

+ Table_locks_waited
테이블 잠금 요청을 즉시 승인 할 수 없고 대기가 필요한 횟수입니다. 이것이 높고 성능 문제가 있는 경우 먼저 쿼리를 최적화 한 다음 테이블을 분할하거나 복제를 사용해야합니다.

+ Table_open_cache_hits
열린 테이블 캐시 조회에 대한 적중 수입니다.

+ Table_open_cache_misses
열린 테이블 캐시 조회에 대한 누락 수입니다.

+ Table_open_cache_overflows
열린 테이블 캐시에 대한 오버 플로우 수입니다. 이는 테이블을 열거 나 닫은 후 캐시 인스턴스에 사용되지 않은 항목이 있고 인스턴스 크기가 table_open_cache / table_open_cache_instances보다 큰 횟수입니다.

+ Tc_log_max_pages_used
내부 XA 트랜잭션 복구를위한 트랜잭션 조정자 역할을 할 때 mysqld가 사용하는 메모리 매핑 된 로그 구현의 경우이 변수는 서버가 시작된 이후 로그에 사용 된 최대 페이지 수를 나타냅니다.
Tc_log_max_pages_used 및 Tc_log_page_size의 곱이 항상 로그 크기보다 훨씬 작으면 크기가 필요한 것보다 크므로 줄일 수 있습니다.
(크기는 --log-tc-size 옵션으로 설정됩니다. 이 변수는 사용되지 않습니다. 바이너리 로그 기반 복구에는 필요하지 않으며 메모리 매핑 된 복구 로그 방법은 스토리지 엔진의 수가 아닌 경우 사용되지 않습니다. 2 단계 커밋이 가능하고 XA 트랜잭션을 지원하는 것이 1보다 큽니다 (InnoDB는 유일하게 적용 가능한 엔진입니다).

+ Tc_log_page_size
XA 복구 로그의 메모리 매핑 구현에 사용 된 페이지 크기입니다. 기본값은 getpagesize ()를 사용하여 결정됩니다. 이 변수는 Tc_log_max_pages_used에 설명 된 것과 같은 이유로 사용되지 않습니다.

+ Tc_log_page_waits
복구 로그의 메모리 매핑 구현의 경우이 변수는 서버가 트랜잭션을 커밋 할 수없고 로그에서 사용 가능한 페이지를 기다려야 할 때마다 증가합니다.
이 값이 크면 --log-tc-size 옵션을 사용하여 로그 크기를 늘릴 수 있습니다. 이진 로그 기반 복구의 경우, 진행중인 2 단계 커밋이 있기 때문에 이진 로그를 닫을 수 없을 때마다이 변수가 증가합니다.
닫기 작업은 이러한 모든 트랜잭션이 완료 될 때까지 대기합니다.

+ Threads_cached
스레드 캐시의 스레드 수
이 변수는 임베디드 서버 (libmysqld) 에서 의미 가 없으며 MySQL 5.7.2부터 임베디드 서버에서 더 이상 볼 수 없습니다.

+ Threads_connected
현재 열려있는 연결 수입니다.

+ Threads_created
연결을 처리하기 위해 작성된 스레드 수입니다. Threads_created가 큰 경우 thread_cache_size 값을 증가시킬 수 있습니다.
캐시 미스 레이트는 Threads_created / Connections로 계산할 수 있습니다.

+ Threads_running
Sleep 상태가 아닌 스레드 수입니다.

+ Uptime
서버가 작동한 시간 (초)입니다.

+ Uptime_since_flush_status
가장 최근 FLUSH STATUS 문 이후의 시간 (초)입니다.

'Databases > MySQL' 카테고리의 다른 글

[MySQL][Backup n Recovery] mysqlpump  (0) 2021.01.23
[MySQL] Timeout 종류  (0) 2021.01.21
[MySQL] Server SQL Modes  (0) 2021.01.15
[MySQL] InnoDB 트랜잭션 그리고 잠금 정보 모니터링  (0) 2021.01.11
[MySQL] 서버 Parameter 설정  (0) 2021.01.10

Designed by JB FACTORY