Synology NAS에서 WordPress 성능

Disk unplugged error를 수시로 뿜어대던 DS411+ 모델의 ATA0 포트가 더 이상 인식되지 않는 문제가 발생하였다. 결국 ATA0가 망가졌기 때문에 이전에 사용하던 WD Green 2TB HDD 4개를 포함해서 저렴하게 방출한 다음 DS415+ 모델을 구입하였다. 차액을 보전하기 위해 Mac mini도 급히 방출하였다. WordPress와 CardDAV, CalDAV 그리고 VPN 서버 등 여러 용도로 사용하던 서비스를 모두 DS415+에서 지원되는 패키지로 이주 하는 중이다.

먼저 WordPress를 설치하였는데, 웹페이지 로드 속도가 많이 느리다. 웹서핑을 해보니 Synology NAS에서 호스팅하는 WordPress는 많이 느리다는 불만이 많다.

이 글 “Speeding Up WordPress on Synology“에 여러 방법이 소개되어 있다. 그 중 php.ini와 MariaDB 옵션만 변경하니 한결 향상된 것 같은 기분(?)이다. 구체적으로 측정해보지는 않았으니까…

DMS 5.2 기준으로 설정한 내용들은 다음과 같다. ssh 나 telnet으로 nas에 접속하여 다음 파일들을 수정한다.

php.ini 수정

/etc/php/php.ini 파일에서 다음 부분을 찾아서 변경한다.

수정 후 httpd -k restart 명령으로 apache를 재시작한다.

my.cnf 수정

/var/packages/MariaDB/etc/my.cnf 파일을 다음과 같이 생성한다. 설정 파일인 my.cnf/var/packages/MariaDB/target/etc/mysql/my.cnf이 먼저 읽힌 후 생성하는 파일이 포함된다. /var/packages/MariaDB/target/etc/mysql/my.cnf 파일은 MariaDB 업데이트시 변경될 수 있다.

수정 후 /var/packages/MariaDB/scripts/start-stop-status stop 명령으로 MariaDB를 중지한 다음 /var/packages/MariaDB/scripts/start-stop-status start 명령으로 시작해준다.

시작 중 /tmp/lock 아래 파일 만들기 오류가 발생하면 mkdir -m 777 /tmp/lock 명령으로 폴더를 하나 생성해두면 된다.

체감

많이는 아니지만 제법 빨라진 기분이다. 이전 호스트인 Mac mini가 Core 2 Duo이지만 램은 8GB에 SSD 2개를 RAID-0로 묶어두고, MariaDB나 php.ini에서 메모리 제한이나 캐시를 넉넉히 잡고 썼었기 때문에 DS415+에서 그 만큼 성능은 안나오는 것 같지만 괜찮은 것 같다. 더 빠르게 하려면 차라리 docker에 wordpress를 올린 후 DSM에서 제공하는 apache는 proxy로 연결하는 편이 더 빠를 것 같기도 하다.

그리고 이 설정을 사용 후 idle 상태에서 20% 전후이던 RAM 사용량이 60% 전후에서 유지되고 있다. DS415+의 기본 RAM은 2GB 모듈 하나인데, 조만간 8GB 모듈로 변경해야겠다. 돈나가는 소리..