mariadb cnf 관련 설정문의
본문
대량으로 insert 쿼리문 처리가 문제가 있는듯하여
구글링해서 찾아보면 아래 파일들을 수정 하라는거 같은데요...
my.cnf
my.cnf.d/mariadb-server.cnf
my.cnf.d/mysql-clients.cnf
my.cnf.d/client.cnf
위 파일에 어느부분을 수정해야 대량 insert등 동시쿼리문 처리? 같은걸 늘릴수가 있을가요?
편집기로 보믄 뭐 아무런 내용이 없습니다?
옛날 서버는 동일하게 접속해서 보면 .cnf 파일이름이 다르긴하지만
내용이 엄청 많더라고요.... 그래서 옛날 내용을 복사해서 넣어볼가도 생각했는데
섯불리 했다가 서버가 먹통될가... 못하고 있습니다....ㅠㅠ 아 슬프네
정리하믄....
1. *.cnf 파일 수정후 업데이트 해도 서버에 영향이 없는지?
2. 대용량 관련 설정 부분을 검색해서 넣을려고 하는데.... 위 *.cnf 파일 4개중 어디에 넣어야 하는지...
조언좀 부탁드립니다....
답변 3
서버처리 쪽이라 client 보다는 server 쪽을 봐야 하고
회당 통신패킷양을 조절하는 max_allowed_packet 이라던가
동시 처리 같은 thread_concurrency
그리고 동시 처리를 활용하기 위한 max_connections
정도가 있을것 같은데
한계치를 어느정도 늘려 확보할수는 있겠지만
성능을 max 방향으로 끌어올려 그만큼의 자원낭비에 가까워지는만큼
70 > 100 (성능이 안나올때 끌어올리는 용도) 보다는
20 > 60 (널널해서 놀고 있는게 보일때 성능을 좀 더 조이는 용도) 로 사용을 하는게 낫습니다.
그에따라 성능 오버 이슈가 생길때
설정을 손보는것 보다는
보통 어플리케이션의 구조 개선이 더 도움이 됩니다.
또 한가지, 설정에 대해 잘 모르는 상태에서 인터넷에 떠돌아 다니는 값을 복붙해 적용하는것은
오래된 다락방에서 어디에 쓰는 약인지 모른채 꺼내 복용해 보는것과 비슷하기 때문에
중요한 서버라면 반드시 하나하나 검토하고 테스트 서버를 만들어 적용해본 다음 적용하시길 권고드립니다.
수정한 cnf 파일을 적용시키려면 서버를 재시작 해야 합니다.
이런걸 살펴보시면 좋고,
https://github.com/atcurtis/mariadb/blob/master/support-files/my-innodb-heavy-4G.cnf.sh
튜닝을 위해 이런것을 사용해 보셔도 좋습니다. (비교적 간단)
load data 사용이 가능한지도 검토해 보세요.