본문 바로가기

취미, 관심/NAS, Server

[Synology] 시놀로지에서 운영중인 웹사이트의 반응이 늦을때(mysql, mariaDB)

NAS를 이용해 웹사이트 혹은 블로그를 운영하시는분들이 많습니다.

 

저는 방문자가 그리 많지 않은 회사 사이트를 몇개 운영중입니다.

 

그누보드를 이용해 만들었는데, 다른건 다 괜찮은데 로그인이 한참 걸립니다.

 

여기저기 찾아보니 mysql 설정의 문제같습니다.

 

그누보드 뿐 아니라 워드프레스에도 적용이 가능한 방법이므로, 설정해두시면 조금 더 쾌적하게 사용이 가능할 것 같습니다.

 

1. SSH 접속을 해서 루트 권한을 획득해야만 합니다. putty 혹은 최근 버전의 윈도우라면 실행 - cmd를 입력해서 ssh로 NAS에 접속해야합니다.

2. DSM 7.0.1 mariaDB 10 기준으로 설명합니다. 구 버전의 경우 경로가 다를 수 있습니다.

 

아무것도 건들지 않은 순정 상태이므로 my.cnf 파일이 생성되어있지 않습니다.

$sudo -i
$vi /var/packages/MariaDB10/etc/my.cnf

sudo -i로 루트 권한을 획득하고, vi 편집기로 문서를 열어 아래 내용을 넣어줍니다.

 

[myisamchk]
key_buffer_size=64M
sort_buffer_size=64M

[mysqld]
max_connections = 500
innodb_buffer_pool_size=500M
key_buffer=256M
key_buffer_size=256M
query_cache_limit=16M
query_cache_size=32M
max_allowed_packet=128M
thread_stack=192K
thread_cache_size=8
table_open_cache=128
sort_buffer_size=512K
read_buffer_size=512K
read_rnd_buffer_size=512K
skip-name-resolve

esc키를 누른 후 :wq 를 입력해 저장 후 종료합니다.

query_cache_size 를 너무 크게 잡으면 좋지 않다는 댓글이 있어서 내용 변경합니다.

query_cache_size=48M => query_cache_size=32M 

 

아래 명령을 입력해 재시작 해 주거나 DSM의 패키지 관리자에서 maria DB를 중지-실행하여 재시작해줍니다.

#Maria DB 재실행
$/var/packages/MariaDB10/scripts/start-stop-status restart

 

sir.kr에서는 

[mysqld]
skip-external-locking
skip-host-cache
skip-locking
skip-name-resolve

이렇게 넣으라고 하는데, 제 경우 skip-name-resolve 말고 다른걸 넣으면 재실행시 오류가 났습니다.

 

이후 사이트 로그인을 하거나 할 때 한결 쾌적함을 느끼실 수 있을겁니다.

 

1. skip-name-resolve를 설정해두면 IP기반으로 접속하므로 불필요한 부하를 줄이게 됩니다.

2. 그 외 다른 설정은 캐시와 버퍼 사이즈, 동시접속 수 등을 늘려 사이트가 커졌을 때를 대비해줍니다.