일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 기록으로 실력을 쌓자
- 오블완
- Java
- aws
- minikube
- Spring
- AWS EKS
- APM
- AI
- kotlin querydsl
- SRE
- CKA
- PETERICA
- 정보처리기사 실기 기출문제
- 정보처리기사실기 기출문제
- MySQL
- tucker의 go 언어 프로그래밍
- Elasticsearch
- golang
- kotlin
- CKA 기출문제
- 공부
- kotlin coroutine
- 코틀린 코루틴의 정석
- Kubernetes
- Pinpoint
- CloudWatch
- 티스토리챌린지
- go
- Linux
- Today
- Total
목록Database (36)
피터의 개발이야기

ㅁ 개요 ㅇ mysql의 성능향상을 위한 구체적인 지표를 얻을 수 있는 방법을 찾고 있었다. ㅇ profiling을 통해 디비 프로세스의 다양한 성능지표를 확인하여 쿼리 성능을 확인할 수 있다. ㅁ Mysql 버젼확인 ㅇ 참고로 현재 테스트 중인 Mysql은 회사에서 사용 중인 AWS Aurora RDS와 동일한 5.7버젼에 맞추었다. ㅁ SHOW PROFILE 이란? MySQL 에서 쿼리가 처리되는 동안 각 단계별 작업에 시간이 얼마나 걸렸는지 확인 할 수 있는 기능을 제공하며 쿼리 프로파일링(Query Profiling) 기능을 제공하고 있다. 쿼리 프로파일링(Query Profiling)는 MySQL 5.1 이상에서 부터 지원한다. 메모 SHOW PROFILE은 향후 MySQL 릴리스에서 제거될 것..

Mariadb 설치 후 시간 설정을 진행하였습니다. 기본적으로 디비가 실행되는 시스템 타임존에 맞춰 있어서 한국시간 대로 바꾸는 작업을 진행하였습니다. 현재 타임존 확인 방법 SELECT @@global.time_zone, @@session.time_zone; SYSTEM인 경우 Mariadb가 실행되는 서버의 타임존을 따라 간다. 서버 타임존 확인 현재 서버의 시간대는 UTC로 되어 있어 디비의 시간이 한국시간대와 맞지 않았습니다. 간단한 타임존 변경 SET GLOBAL time_zone='Asia/Seoul'; SET time_zone = 'Asia/Seoul'; SELECT @@global.time_zone, @@session.time_zone; SQL상으로 time_zone을 변경할 수 있습니다...

mariadb에 한글이 깨지는 문제를 방지하기 위해 docker의 MaraiDB Character Set을 UTF-8로 변경하도록 하겠습니다. mariadb 접속 docker container ls docker exec -i -t mariadb_mac bash my.cnf 수정 #apt update apt-get update #install vim apt-get install vim 우선 수정을 하기 위해 vim을 설치해야 합니다. 설치 완료 후 my.cnf를 수정합니다. vi /etc/mysql/my.cnf my.cnf 파일에 아래의 내용을 추가합니다. character-set-client-handshake = FALSE init_connect="SET collation_connection = utf8..

ㅁ 총 연결 connection 수 확인 show status where `variable_name` = 'Threads_connected'; ㅁ 접속 IP별 connection 수 select ip, count(*) cnt from ( select left(HOST,instr(HOST,':')-1) ip from information_schema.processlist where 1 = 1 # and COMMAND = 'Sleep' -- 대기모드 ) temp group by ip order by 2 desc;

시스템을 운영하면서 데이터가 쌓이게 된다. 다량의 데이터 조회 속도를 높이기 위해 인덱스를 사용하지만, 테이블의 데이터가 많아지면 인덱스 자체의 물리적인 용량이 증가라한다. 인덱스 조차도 허용된 메모리를 넘는 어느 순간 그 테이블 조회 속도는 현저히 느려진다. 큰 테이블은 월별 혹은 일자별로 나누어 관리하는 것이 바람직하다. 내가 쓰고 있는 테이블별 용량 확인 쿼리이다. ############################################################ # 테이블별 용량 SELECT table_name, table_rows, round(data_length / (1024 * 1024 * 1024), 2) as 'DATA_SIZE(GB)', round(index_length / (..

내가 자주 사용하는 디비 모니터링 SQL문 정리 디비 부하 시 현재 문제가 되고 있는 프로세스와 SQL을 확인 할 수 있는 쿼리 ############################################################ # 디비 프로세스 확인 ############################################################ select # count(*) * from information_schema.processlist where 1 = 1 # and COMMAND = 'Sleep' and COMMAND != 'Sleep' and ID not in (847, 972) # and HOST like '172.31.21.139%' # and HOST like '1..