분류 전체보기 1385

MySQL/MariaDB Sort 모니터링

MySQL/MariaDB Sort 모니터링 · Version : MySQL 5.7, Docker MySQL 뿐만 아니라 다른 제품의 RDB에서도 정렬(Sort)이 발생할 때 시스템 리소스가 추가적으로 발생하기 때문에 모니터링이 필요하다. Select 모니터링시 테이블 스캔이 발생하는지 또는 인덱스 를 잘 사용하는지에 대한 부분에 대해서 살펴 보았다면 이번에는 정렬과정에서 발생하는 비용에 대해서 살펴본다. · MySQL/MariaDB Select 모니터링 : http://sqlmvp.kr/221260775725 아래 스크립트를 실행 하면 Sort와 관련된 지표를 확인할 수 있다. show status where variable_name like ‘sort%’ 각 지표가 의미하는 내용은 아래 표를 참고 한다..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB Select 모니터링

MySQL/MariaDB Select 모니터링 · Version : MySQL 5.7, Docker MySQL 뿐만 아니라 대부분의 OLTP 성 데이터베이스에서는 SELECT의 성능이 매우 중요하다. 일반적으로 관계형 데이터베이스에서는 JOIN을 많이 사용하기 때문에 SELECT에 따른 의도하지 않은 성능 문제나 잠금 문제가 발생할 수 있기 때문에 모니터링에 우선순위를 높여야 하며 최우선으로 튜닝을 해야 하는 포인트 이기도 하다. MySQL에서 SELECT에 대한 모니터링은 아래 스크립트를 실행하여 확인할 수 있다. show status where variable_name like ‘select%’ 각 항목에 대해서 어떤 의미를 가지는지 살펴보자. Variable Name Comment Select_fu..

MySQL, MariaDB 2019.03.24

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