안녕하세요.
네이버클라우드 서버를 사용하며 스펙은 아래와같습니다.
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운영방안에 관련해도 조언좀 부탁드려봅니다.
감사합니다.