MySQL서버내의 통계정보를 확인하려면 다음과 같이 한다.
shell$ mysqadmin extened-status
mysql>SHOW STATUS;
mysql>SELECT * FROM information_schema.GLOBAL_STATUS;
mysql>SELECT * FROM information_schema.SESSION_STATUS;
information_schema를 SELECT하는 경우는 Variable_name은 전부 대문자로 표현된다.
- Variable_name 내용
- Aborted_clients: 클라이언트가 정상적인 방법으로 통신을 끊지않은 수
- Aborted_connects: MySQL서버에 접속에 실패한 수
- Binlog_cache_disk_use: mysqld는 트랜잭션개시할 때에 binlog_cache_size 메모리를 확보하고 그곳에 트랜잭션 문을 일단 써놓는다.(COMMIT, ROLLBACK실행전) 만약 캐쉬에 실행문을 전부 기록하지 못할 경우는 문장은 디스크에 쓰여진다. Binlog_cache_disk_use는 이 디스크에 문장을 보존하게 된 트랜잭션 수. binlog_cache_size의 설정이 충분히 큰 경우는 이 수가 적어지게 된다.
- Binlog_cache_use: mysqld는 트랜잭션개시할 때에 binlog_cache_size 메모리를 확보하고 그곳에 트랜잭션 문을 일단 써놓는다.(COMMIT, ROLLBACK실행전) Binlog_cache_use는 이 캐쉬를 사용한 트랜잭션 수
- Bytes_received: 모든 클라이언트에서 받은 바이트수
- Bytes_sent: 모든 클라이언트에 보낸 바이트수
- Com_xxx: 각각 xxx문이 얼마나 실행되었나를 나타낸다. Com_stmt_xxx는 Prepared Statement관련 문이 있다는 것을 나타낸다. Com_stmt_xxx는 예를 들어 Prepared statement인수 에러로 실행되지 못했던 경우에도 계산된다. 즉 Prepared Statement의 리퀘스트 수라고 말할 수 있다.
- Compression: 클라이언트 서버사이에 통신을 zlib(gzip)압축을 하고 있으면 ON
- Connections: MySQL서버에 접속을 시도한 수. 성공, 실패하고는 관계없음.
- Created_tmp_disk_tables: 쿼리 실행중에 디스크에 작성된 임시 테이블 수. tmp_table_size보다 큰 영역이 필요한 경우에 디스크에 작성된다. 임시테이블을 메모리에서 전부 처리하고 싶다면 tmp_table_size을 늘린다.
- Created_tmp_files:mysqld가 작성한 임시 파일 수
- Created_tmp_tables: 쿼리 실행중에 메모리내에 작성된 임시 테이블 수. 메모리 상에 작성된 임시 테이블의 최대 사이즈는 tmp_table_size로 결정된다.
- Delayed_errors: INSERT DELAYED로 쓰여진 레코드중에 에러가 난 것들의 수(중복 키 에러 등 )
- Delayed_insert_threads: 사용된 INSERT DELAYED 핸들러 스레드수
- Delayed_writes: INSERT DELAYED로 쓰여진 레코드 수
- Flush_commands: FLUSH문의 실행횟수
- Handler_commit: 내부 커밋 실행횟수
- Handler_delete: 테이블에서 삭제된 레코드 수
- Handler_discover: 테이블에 대해서 NDB클러스터에 질의하는 것을 discovery라고 부른다. 얼마나 NDB클러스터에 질의해서 테이블이 찾아졌는지를 나타냄.
- Handler_prepare: two phase commit의 prepare 구문의 횟수
- Handler_read_first: 테이블의 최초의 행이 읽어들여진 횟수
- Handler_read_key
- Handler_read_next
- Handler_read_prev
- Handler_read_rnd
- Handler_read_rnd_next
- Handler_rollback: 롤백을 요구한 수
- Handler_savepoint:SAVEPOINT 요청 수
- Handler_savepoint_rollback
- Handler_update
- Handler_write
- Innodb_buffer_pool_pages_data:데이터를 포함한 페이지 (dirty, clean) 수
- Innodb_buffer_pool_pages_dirty
- Innodb_buffer_pool_pages_flushed
- Innodb_buffer_pool_pages_free
- Innodb_buffer_pool_pages_latched: Innodb버퍼풀 안에 latched페이지 수. 현재 읽고 쓰여지고 있는 페이지는 플러쉬나 삭제가 되지않는데 이 것을 말한다.
- Innodb_buffer_pool_pages_misc
- Innodb_buffer_pool_pages_total
- Innodb_buffer_pool_read_ahead_rnd
- Innodb_buffer_pool_read_ahead_seq
- Innodb_buffer_pool_read_requests
- Innodb_buffer_pool_reads
- Innodb_buffer_pool_wait_free
- Innodb_buffer_pool_write_requests
- Innodb_data_fsyncs
- Innodb_data_pending_fsyncs
- Innodb_data_pending_reads
- Innodb_data_pending_writes
- Innodb_data_read: 지금까지 데이터를 읽어들인 바이트의 합계
- Innodb_data_reads: 데이터 취득 횟수
- Innodb_data_writes: 데이터 작성 횟수
- Innodb_data_written:지금까지 데이터를 쓴 바이트의 합계
[계속]