안녕하십니까,
Log 관리 시스템을 운영 중인 개발자입니다.
다름이 아니라 현재 log관리에 대해 DB를 MariaDB 10.2 를 사용 중입니다.
그런데 테이블 데이터가 누적함(한 테이블 데이터 1억건 정도/매일 수신 1억건)에 따라 너무 느려서 사용할 수 없을 정도여서 튜닝을 해야할 듯 합니다.
혹시 설정 파일 my.cnf, my.ini 좀 제시 해주실 수 있을까요??
현재 windows server / CPU x 4core / RAM16G / SCISI Disk 를 사용 중입니다( 많이 느려요..)
my.ini은
-----------------------------------------------
[mysqld]
#innodb_force_recovery = 4
character_set_server = utf8
datadir = c:\Program Files\MariaDB 10.2\data
port = 3306
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine = InnoDB
innodb_buffer_pool_size = 4096M
innodb_log_buffer_size = 1500M
query_cache_type = 1
query_cache_limit = 256K
query_cache_size = 80M
thread_stack = 128K
thread_cache_size = 8
table_cache = 1024
table_definition_cache = 1024
tmp_table_size = 256M
max_heap_table_size = 256M
#wait_timeout = 28800
#connect_timeout = 10
#interactive_timeout = 28800
slow-query-log = 1
slow-query-log-file = c:\data\dblogs\mariadb-slowquery.log
long_query_time = 10
#bind-address=127.0.0.1
[client]
port = 3306
-----------------------------------------------
이정도 입니다..
도움 말씀 혹은 설정 파일 빅데이터에 맞춰 가지고 계신 샘플 있으시면 도움 부탁드릴께요.
우선 한 테이블에 데이터 양이 너무 많아 보입니다.
아무리 파라미터를 튜닝한다고 하더라도 데이터가 많으면 소용이 없더군요
데이터를 분산 시키는 방법으로 해보는게 좋을 것 같습니다. 파티션 테이블이나 로직(여러 테이블로 데이터 인서트)
데어터 인서트가 느린 경우라면 bulk 인서트 형식으로 바꿔 주시는것도 좋을것 같습니다.
또한 logfile 사이즈와 개수등도 확인 해보 시구요 보내주신걸로는 확인이 안되네요 사이즈나 갯수도 인서트 성능에
영향을 미치는 부분이니 체크 보세요.
건바이 건으로 commit 보다는 한번에 여러 건을 commit 하는것이 성능에는 더 좋으니까요
insert 와 select 만 이용하시는 경우라면 스토리지 엔진을 archive 엔진을 고려해 보시는것도 좋을것 같습니다.