Maria DB 10.2 대용량 innoDB 테이블 최적화 0 4 4,373

by 열심히할께요 [MySQL] my.ini my cnf optimization mySql튜닝 tuning [2018.03.28 14:32:50]


안녕하십니까, 

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
-----------------------------------------------

이정도 입니다..

도움 말씀 혹은 설정 파일 빅데이터에 맞춰 가지고 계신 샘플 있으시면 도움 부탁드릴께요.

 

 

 

 

by l2monkeys [2018.03.28 15:19:36]

해방 서버의 용도를 알고 싶습니다.

insert 건수 update  / select 건수 비율


by 열심히할께요 [2018.03.28 15:29:12]

답변 감사드립니다^^

Google Analytics에서 데이터를 받아와 통계를 내주는 용도입니다.

insert 건수는 일별 1억건 이상/update 수는 거의 없구요/ select 건수는 단일 테이블 1억건 이상에서 그룹핑하여 사용합니다.


by l2monkeys [2018.03.28 16:28:15]

우선 한 테이블에 데이터 양이 너무 많아 보입니다.

아무리 파라미터를 튜닝한다고 하더라도 데이터가 많으면 소용이 없더군요

데이터를 분산 시키는 방법으로 해보는게 좋을 것 같습니다. 파티션 테이블이나 로직(여러 테이블로 데이터 인서트)

데어터 인서트가 느린 경우라면 bulk 인서트 형식으로 바꿔 주시는것도 좋을것 같습니다.

또한 logfile 사이즈와 개수등도 확인 해보 시구요 보내주신걸로는 확인이 안되네요 사이즈나 갯수도 인서트 성능에

영향을 미치는 부분이니 체크 보세요.

건바이 건으로 commit 보다는 한번에 여러 건을 commit 하는것이 성능에는 더 좋으니까요

insert 와 select 만 이용하시는 경우라면 스토리지 엔진을 archive 엔진을 고려해 보시는것도 좋을것 같습니다.


by 열심히할께요 [2018.03.28 17:47:33]

답변 감사드립니다.

아무래도 일개 개발자다 보니 역시 DBA를 영입해야겠네요~

오늘도 좋은 하루 되세요^^

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