MySQL, MariaDB 96

MySQL/MariaDB Replication 모니터링

MySQL/MariaDB Replication 모니터링 · Version : MySQL 5.7, Docker MySQL Replication은 기본적으로 비동기 방식의 복제 매커니즘이다. 그래서 Master DB의 Slave DB 간에 동기화 지연이 발생하면 데이터에 데한 차이가 발생하고 서비스에 영향이 있을 수도 있다. · MySQL 복제 구축 : http://sqlmvp.kr/220383304252 · MySQL Replication Architecture : https://www.slideshare.net/SvenSandberg/oracle-openworld-2013-hol9737-mysqlreplicationbestpractices 슬레이브DB에 대한 복제 상태를 확인하는데 가장 많이 사용되는 명..

MySQL, MariaDB 2019.03.24

Run the MySQL with Docker

Run the MySQL with Docker · Version : MySQL 5.7, Docker MySQL 5.7 버전을 Docker를 활용해서 빠르게 설치하여 활용하는 방법에 대해서 살펴본다. 이번 포스트에서 다루는 환경 구성은 Windows Host 기반에 Docker(windows버전)를 설치하고 Container로 MySQL5.7 를 실행한다. 이 포스트는 MySQL 설치를 중점으로 다루고 있으며 Docker에 대해서는 다루지 않는다. Docker 설치가 완료 되었으면 Powershell 명령 도구를 실행 한다. 그리고 아래 명령어를 실행 한다. 이 명령은 최신 버전의 mySQL 버전의 컨테이너 이미지를 가져온다. docker pull mysql 아래 명령어를 실행하면 위에서 다운로드 받은 이..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB Handler 모니터링

MySQL/MariaDB Handler 모니터링 - Version : MySQL 5.7.21, Ubuntu 16.0.4 MySQL 서버에서 Handler 모니터링 하는 방법에 대해서 알아본다. Handler(핸들러)의 역할은 각 스토리지 엔진에 대해 읽기 또는 쓰기를 요청 한다. 핸들러 모니터링을 통해서 MySQL 쿼리가 스토리지 엔진의 데이터에 접근하는 방식과 패턴을 알 수 있기 때문에 성능 최적화를 위해 필요한 모니터링 지표 이다. 아래 스크립트를 실행하면 핸들러에 대한 모니터링 지표를 확인할 수 있다. show status where variable_name like ‘handler%’ Variable Name Comment Handler_commit 커밋 수 Handler_delete 행을 삭제 ..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB Connection 모니터링

MySQL/MariaDB Connection 모니터링 - Version : MySQL 5.7.21, Ubuntu 16.0.4 MySQL 서버에서 connection 모니터링 하는 방법에 대해서 알아본다. MySQL 뿐만 아니라 다른 데이터베이스에서도 connections의 수는 운영과 성능면에서 매우 중요하다. 특히 connection의 개수가 max_connections 값을 초과할 경우 새로운 connection이 할당되지 못하여 어플리케이션이 MySQL 서버에 연결되지 않아 오류가 발생할수 있다. 또한 신규 connection이 할당 될때, 그에 따른 메모리 할당 및 기타 작업이 동반되기 때문에 빈번한 connection 연결 및 해제는 여러가지 성능 문제와도 관련이 있다. MySQL에서 conne..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB QPS(Query per second) 모니터링

MySQL/MariaDB QPS(Query per second) 모니터링 - Version : MySQL 5.7.21, Ubuntu 16.0.4 MySQL 서버에 요청되는 초당 요청량 (Query per Second, QPS)을 모니터링 하는 방법에 대해서 알아본다. 아래 스크립트를 실행하면 현재까지 수행된 Query의 요청에 대해서 확인할 수 있다. 여기에 나타난 값은 누적값이기 때문에, 수집 시간 간격에 따라 산술적 연상이 필요 하다. show global status where variable_name in ( 'questions', 'com_select', 'com_insert', 'com_delete', 'com_update', 'com_replace', 'com_load', 'com_delet..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB Binlog Cache and Binlog Cache Size

MySQL/MariaDB Binlog Cache and Binlog Cache Size · Version : MySQL 5.7.21, Ubuntu 16.0.4 MySQL 서버는 바이너리 로그(Binlog)의 내용을 바로 디스크에 쓰지 않고 메모리의 임시 공간을 활용해 버퍼링 한다. 이 공간을 바이너리 로그 캐시 (Binlog Cache)라고 한다. 트랜잭션이 시작 될때 binlog_cache_size에 설정된 용량만큼 메모리를 미리 확보해두고 트랜잭션이 종료(COMMIT, ROLLBACK)되기 전까지 해당 메모리 영역에 트랜잭션을 쓴 다음 트랜잭션이 정상적으로 종료되면 바이너리 로그에 해당 트랜잭션을 쓴다. Binlog Cache 상태 정보는 아래 스크립트로 확인 할 수 있다. show status li..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB Memory 모니터링

MySQL/MariaDB Memory 모니터링 · Version : MySQL 5.7.21, Ubuntu 16.0.4 Memory 사용률은 모든 운영체제에서 중요한 모니터링 지표이다. 다양한 어플리케이션이 서버에서 실행되면서 실제 물리메모리를 초과하는 메모리 요구가 발생할 수 있기 때문에 메모리 모니터링도 중요하다. 실제 데이터베이스의 경우 메모리가 부족하여 성능저하가 크게 발생하는 경우가 많다. 아래 명령어는 Unbuntu Linux에서 5초 간격으로 메모리 사용량을 확인하는 명령이다. watch -n 5 free –m 리눅스는 메모리의 효율적인 운영을 위해 전체 메모리에서 미리 Buffers + Cached 값을 자동으로 할당해 놓는다. 만일 어플리케이션에서 메모리가 필요할 경우 Cached에 할당된..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB CPU 모니터링

MySQL/MariaDB CPU 모니터링 · Version : MySQL 5.7.21, Ubuntu 17.4 CPU 사용률은 모든 운영체제에서 가장 중요한 모니터링 지표이다. 이번 포스트는 기본적인 CPU 모니터링 방법에 대해서 살펴본다. 리눅스에서는 다양한 명령어를 사용하여 CPU 사용률을 확인할 수 있다. · Top 명령을 사용한 CPU 모니터링 : http://sqlmvp.kr/221024130336 기본적으로 CPU 사용량을 확인하기 위해서는 mpstat명령을 사용할 수 있다. 일반적으로 데이터베이스의 경우 시스템을 독립해서 사용하기 때문에 대부분의 CPU 사용량은 CPU System, CPU User, CPU IOwait 이 차지한다. mpstat [IOwait 높은 경우] CPU 사용량이 높으..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB 서버 상태 모니터링

MySQL/MariaDB 서버 상태 모니터링 · Version : MySQL 5.7.21 MySQL 서버는 MySQL 관리를 위한 전용 유틸리티인 mysqladmin을 기본적으로 제공한다. mysqladmin을 이용하면 MySQL 서버의 주요 설정값과 상태 정보를 쉽게 확인 할 수 있다. mysqladmin의 명령어 위치와 사용형식은 다음과 같다. · 명령어 위치 : /usr/local/mysql/bin/mysqladmin · 사용형식 : mysqladmin –u root –p 명령어 도움말은 mysqladmin –help 명령어로 확인할 수 있다. mysqladmin 에서 ‘status’ 옵션을 함께 사용하면 기본적인 상태 값을 모니터링 할 수 있다. 하지만 여기에 나타나는 결과값은 시간별 값이 아닌 ..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB 서버 커넥션 사용 현황 모니터링

MySQL/MariaDB 서버 커넥션 사용 현황 모니터링 · Version : MySQL 5.7.21 MySQL 서버는 MySQL 관리를 위한 전용 유틸리티인 mysqladmin을 기본적으로 제공한다. mysqladmin을 이용하면 MySQL 서버의 주요 설정값과 상태 정보를 쉽게 확인 할 수 있다. mysqladmin의 명령어 위치와 사용형식은 다음과 같다. · 명령어 위치 : /usr/local/mysql/bin/mysqladmin · 사용형식 : mysqladmin –u root –p 명령어 도움말은 mysqladmin –help 명령어로 확인할 수 있다. mysqladmin 에서 ‘processlist’ 옵션을 함께 사용하면 현재 MySQL 서버의 DB 커넥션 현황과 각 커넥션별 스레드 상태 등을..

MySQL, MariaDB 2019.03.24