분류 전체보기
-
MySQL 5.6부터 Online DDL을 사용할 수 있게 되었고 인덱스 칼럼 추가/삭제 등 이렇게 Online DDL이 지원하게 되면서 pt-online-schema-change tool을 사용하지 않고도 서비스 중단 없이 DDL을 수행할 수 있게 되었다. 이번에는 Online DDl에서 VARCHAR Column을 변경할때 발생할 수 있는 문제 상황을 테스트해보았다. ■ VARCAHR Size Extension - https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.html The number of length bytes required by a VARCHAR column must remain the same. For VARCHA..
[ MySQL ] Online DDL - VarcharMySQL 5.6부터 Online DDL을 사용할 수 있게 되었고 인덱스 칼럼 추가/삭제 등 이렇게 Online DDL이 지원하게 되면서 pt-online-schema-change tool을 사용하지 않고도 서비스 중단 없이 DDL을 수행할 수 있게 되었다. 이번에는 Online DDl에서 VARCHAR Column을 변경할때 발생할 수 있는 문제 상황을 테스트해보았다. ■ VARCAHR Size Extension - https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.html The number of length bytes required by a VARCHAR column must remain the same. For VARCHA..
2022.04.12 -
MariaDB MaxScale은 MariaDB 서버의 고가용성, 확장성 및 보안을 확장하는 동시에 기본 데이터베이스 인프라에서 분리하여 애플리케이션 개발을 단순화하는 데이터베이스 프록시입니다. read / write 분산이 필요한 아키텍처에서 MaxScale을 사용하면 효율적으로 분산 구조를 구성할 수 있습니다. ■ 서버 hostname IP Version master 192.168.100.23 10.2 slave 192.168.100.20 10.2 maxsclae 192.168.100.21 2.5 ■ Maxsclae 설치 - Maxscale 2.5 Version 설치 [root@maxscale ~]# curl -sS https://downloads.mariadb.com/MariaDB/mariadb_re..
[Maria] Maxscale GUI 설치MariaDB MaxScale은 MariaDB 서버의 고가용성, 확장성 및 보안을 확장하는 동시에 기본 데이터베이스 인프라에서 분리하여 애플리케이션 개발을 단순화하는 데이터베이스 프록시입니다. read / write 분산이 필요한 아키텍처에서 MaxScale을 사용하면 효율적으로 분산 구조를 구성할 수 있습니다. ■ 서버 hostname IP Version master 192.168.100.23 10.2 slave 192.168.100.20 10.2 maxsclae 192.168.100.21 2.5 ■ Maxsclae 설치 - Maxscale 2.5 Version 설치 [root@maxscale ~]# curl -sS https://downloads.mariadb.com/MariaDB/mariadb_re..
2022.03.22 -
MySQL & Maria DB Innodb_buffer_pool 사용량은 성능에 중요한 Point가 된다. 사용량이 높게되면 Disk I/O가 발생하게 되고 성능이 떨어지게된다. Innodb_buffer_pool_size는 DOCS에서는 physical memory의 80%로 하는것을 말하고있지만 Real MySQL에서는 50%로 한후 모니터링하며 바꿔나가는 것이 좋다고 한다. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables de..
[ MySQL & Maria ] Innodb_buffer_pool 사용량 조회MySQL & Maria DB Innodb_buffer_pool 사용량은 성능에 중요한 Point가 된다. 사용량이 높게되면 Disk I/O가 발생하게 되고 성능이 떨어지게된다. Innodb_buffer_pool_size는 DOCS에서는 physical memory의 80%로 하는것을 말하고있지만 Real MySQL에서는 50%로 한후 모니터링하며 바꿔나가는 것이 좋다고 한다. https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables de..
2022.03.21 -
Redis를 이용해서 Tomcat의 Session Clustering을 구성한 고객에서 문제가 발생하였다. 한달에 한번씩 OOM Killer에 인해 Redis가 죽는일이 발생하였다. 해당 원인을 분석하기위해서 Redis의 memory관련 config를 공부하게 되었고 해당 문제를 해결할 수 있었다. 원인으로 판단 되었던 것은 maxmemory가 0 (default)으로 되어있어 memory가 조절되지 않았고 session 값들이 삭제되지 않고 남아 memory를 잡아 먹었던 것이 문제였다. ■ Redis 메모리 운영 - In-memory 데이터 저장 관리 - maxmemory 값을 이용하여 Redis가 사용할수있는 Memory 조정 가능 - 사용자의 모든 데이터를 메모리에 저장해서 관리할수 없다. - 이..
Redis - MaxmemoryRedis를 이용해서 Tomcat의 Session Clustering을 구성한 고객에서 문제가 발생하였다. 한달에 한번씩 OOM Killer에 인해 Redis가 죽는일이 발생하였다. 해당 원인을 분석하기위해서 Redis의 memory관련 config를 공부하게 되었고 해당 문제를 해결할 수 있었다. 원인으로 판단 되었던 것은 maxmemory가 0 (default)으로 되어있어 memory가 조절되지 않았고 session 값들이 삭제되지 않고 남아 memory를 잡아 먹었던 것이 문제였다. ■ Redis 메모리 운영 - In-memory 데이터 저장 관리 - maxmemory 값을 이용하여 Redis가 사용할수있는 Memory 조정 가능 - 사용자의 모든 데이터를 메모리에 저장해서 관리할수 없다. - 이..
2022.02.22 -
MRTE2 ( MySQL Real Traffic Emulator )는 카카오에서 효율적인 MySQL 운영을 위해 개발한 opensource tool입니다. MRTE는 실서비스용 MySQL 서버의 트래픽을 수집하는 MRTE-Collector와, 수집한 데이터를 테스트용 MySQL 서버에서 재현하는 MRTE-Player 두 개의 툴로 구성되어 있습니다. 특히 MRTE-Collector는 Go로 작성되어 Go로 네트웍 프로그래밍을 하려는 개발자들에게 유용할 것입니다. ■ MRTE 실행 순서 MongoDB 시작 MRTECollector 시작 MRTEPlayer 시작 각 컴포넌트 재시작 시 MRTEPlayer만 재시작하는 경우, MRTEPlayer가 재시작되는 경우 마지막 실행했던 Event를 기억하지 못한다. ..
MRTE ( MySQL Real Traffic Emulator )MRTE2 ( MySQL Real Traffic Emulator )는 카카오에서 효율적인 MySQL 운영을 위해 개발한 opensource tool입니다. MRTE는 실서비스용 MySQL 서버의 트래픽을 수집하는 MRTE-Collector와, 수집한 데이터를 테스트용 MySQL 서버에서 재현하는 MRTE-Player 두 개의 툴로 구성되어 있습니다. 특히 MRTE-Collector는 Go로 작성되어 Go로 네트웍 프로그래밍을 하려는 개발자들에게 유용할 것입니다. ■ MRTE 실행 순서 MongoDB 시작 MRTECollector 시작 MRTEPlayer 시작 각 컴포넌트 재시작 시 MRTEPlayer만 재시작하는 경우, MRTEPlayer가 재시작되는 경우 마지막 실행했던 Event를 기억하지 못한다. ..
2022.01.21 -
나중에 서버가 여러 대가 되게 되면 하나하나 들어가서 Zabbix Agent를 설치하고 Config 파일을 수정하는 것은 힘들다고 생각된다. 이럴 때 Ansible을 이용하게 되면 여러 서버에 한 번에 Zabbix Agent를 설치하고 Config 파일을 수정하는 일이 가능하게 된다. ■ TEST 환경 Hostname Private IP lee 10.,0.3.34 mysql1 10.0.3.245 mysql2 10.0.3.175 - Zabbix Agent 5 Version - Cent 7.9 ■ Ansible 설치 & 간단 테스트 - Ansible 에서는 관리 대상의 서버 리스트를 inventory라고 부른다. - inventory는 /etc/ansible/hosts 에 저장되며 서버 그룹과 호스트로 구성..
Zabbix Agent 배포 ( Use. Ansible )나중에 서버가 여러 대가 되게 되면 하나하나 들어가서 Zabbix Agent를 설치하고 Config 파일을 수정하는 것은 힘들다고 생각된다. 이럴 때 Ansible을 이용하게 되면 여러 서버에 한 번에 Zabbix Agent를 설치하고 Config 파일을 수정하는 일이 가능하게 된다. ■ TEST 환경 Hostname Private IP lee 10.,0.3.34 mysql1 10.0.3.245 mysql2 10.0.3.175 - Zabbix Agent 5 Version - Cent 7.9 ■ Ansible 설치 & 간단 테스트 - Ansible 에서는 관리 대상의 서버 리스트를 inventory라고 부른다. - inventory는 /etc/ansible/hosts 에 저장되며 서버 그룹과 호스트로 구성..
2021.12.28 -
MySQL은 5.7과 8.0 간에 바뀐 기능들이 많이 있다 그중에 Auto_Increment도 포함되어있다. ■ MySQL 5 Auto_Increment 동작 방식 - InnoDB Table에 Auto_Increment 속성을 추가하게 되면, 해당 Count 값들은 메모리 기반으로 관리되게 된다. - 따라서 DB가 재기동되면 Insert 구문을 실행하는 시점에 InnoDB는 해당 Table의 Auto_increment Column의 MAX 값을 조회하게 되고 해당 값에 +1을 하여 Insert를 하게 된다. - 때문에 Auto_increment의 값이 유니크하게 증가되지 않고 삭제 후 DB 재기 동시 삭제된 값이 재사용되는 문제가 발생한다. ■ MySQL 8 Auto_Increment 동작 방식 - My..
[MySQL] MySQL 5 vs 8 ( Auto_increment )MySQL은 5.7과 8.0 간에 바뀐 기능들이 많이 있다 그중에 Auto_Increment도 포함되어있다. ■ MySQL 5 Auto_Increment 동작 방식 - InnoDB Table에 Auto_Increment 속성을 추가하게 되면, 해당 Count 값들은 메모리 기반으로 관리되게 된다. - 따라서 DB가 재기동되면 Insert 구문을 실행하는 시점에 InnoDB는 해당 Table의 Auto_increment Column의 MAX 값을 조회하게 되고 해당 값에 +1을 하여 Insert를 하게 된다. - 때문에 Auto_increment의 값이 유니크하게 증가되지 않고 삭제 후 DB 재기 동시 삭제된 값이 재사용되는 문제가 발생한다. ■ MySQL 8 Auto_Increment 동작 방식 - My..
2021.12.23 -
오늘은 zabbix-agent를 설치할 시 zabbix-server에 자동으로 host 가 등록되도록 하는 Auto registration 기능을 사용해볼 예정이다. 만약 여러개의 서버를 이용하는 환경이라면 zabbix-agent를 설치하고 수동으로 zabbix-server에 host를 추가하는 일은 효율적이지 못한 방식이다. ■ 구성 환경 Public IP Private IP 비고 lee-monitor 146.56.188.9 10.0.3.16 Zabbix5 / CentOS Linux release 7.9 mysql1 193.122.107.214 10.0.3.245 Zabbix5 / CentOS Linux release 7.9 ■ Zabbix-Server 설치 2021.11.22 - [Open Sourc..
Zabbix-agent Auto Registeration ( 자동 등록 )오늘은 zabbix-agent를 설치할 시 zabbix-server에 자동으로 host 가 등록되도록 하는 Auto registration 기능을 사용해볼 예정이다. 만약 여러개의 서버를 이용하는 환경이라면 zabbix-agent를 설치하고 수동으로 zabbix-server에 host를 추가하는 일은 효율적이지 못한 방식이다. ■ 구성 환경 Public IP Private IP 비고 lee-monitor 146.56.188.9 10.0.3.16 Zabbix5 / CentOS Linux release 7.9 mysql1 193.122.107.214 10.0.3.245 Zabbix5 / CentOS Linux release 7.9 ■ Zabbix-Server 설치 2021.11.22 - [Open Sourc..
2021.12.23