my.cnf 설정값좀 조언부탁드립니다. 0 0 1,171

by 토마톰 [MySQL] [2019.10.28 11:27:51]


안녕하세요.

네이버클라우드 서버를 사용하며 스펙은 아래와같습니다.

OS : centos7

MEM : 16GB 

CPU : 4vCPU

 

화면에 뿌려주는 집계 테이블 수 (테이블명 생략)와 각 데이터 사이즈는 아래와 같구요  (MB)

30708.75
14224.77
13871.75
5963.77
2530.27
1986.00
1411.31
578.13
516.73
492.91
278.00
272.11
102.67
84.48
65.44
49.63
29.09
27.09
24.66
16.31
11.48
8.36
2.89
0.36
0.11
0.06
0.02

 

그리고 my.cnf 설정파일 설정값은 아래와같습니다.

[mysqld]
#datadir=/var/lib/mysql
datadir=/mnt/db/data
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Error Log
#log-error=/var/log/mysqld.log
log-error=/mnt/db/logs/mysqld.log
# General Log
general_log=1
general_log_file=/mnt/db/logs/mysqld-history.log
# Slow Query Log
slow_query_log=1
slow_query_log_file=/mnt/db/logs/mysqld-slow.log
long_query_time=3
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8
validate-password=off
max_connections=100
wait_timeout=3600
interactive_timeout=3600
innodb-temp-data_file_path = ibtmp1:12M:autoextend:max:5G
transaction-isolation = READ-COMMITTED
innodb_lock_wait_timeout=500
skip-name-resolve
key_buffer_size=200M

## Per-Thread Buffers * (max_connections) = total per-thread mem usage
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 4M
join_buffer_size = 4M
binlog_cache_size = 64K

## InnoDB Plugin Independent Settings
innodb_buffer_pool_size = 12G
innodb_buffer_pool_instances = 12


#table-cache = 512
innodb_flush_method = O_DIRECT

max_heap_table_size = 64M
tmp_table_size = 64M
 

 

인덱스 작업을 했는데도 불구하고 데이터수가 상대적으로 많은 테이블 (3~4천만건)을 조회할때에 속도가 느려 my.cnf 더 최적화가 가능하다면 진행해보려하는데 여기저기 참조해보았지만 큰 답이 안나와서 여쭤보고자 질문드려요.

설정값에 문제 외에도 혹시 추가적으로 진행 할 수있는 방안이나 계속적으로 데이터가 누적됨에따라 생각할수있는 DB운영방안에 관련해도 조언좀 부탁드려봅니다.

감사합니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입