목차
워드프레스에서 메모리 관련 에러가 나는 경우, 혹은 플러그인 추가에 따라 램용량이 부족하다고 판단되는 경우 워드프레스가 사용하는 램 용량을 조절해 줄 수 있다.
해당 부분은 워드프레스를 호스팅하는 서버와 관련한 부분이기 때문에 각자가 이용중인 서비스 혹은 서버OS에 따라 그 방법이 다르다.
본 글에서는 시놀로지 연동으로 사용하는 경우에 대해 다룬다.
워드프레스에 관여하는 메모리 관련 설정은 크게 2가지가 있다.
- PHP 메모리
- 워드프레스 메모리
1. PHP 메모리는 서버에서 PHP 언어 실행에 메모리를 얼마나 쓸 것인가?를 정하는 부분이고,
2. 워드프레스 메모리는 PHP에 할당된 메모리 중 해당 홈페이지에서는 얼마를 사용할 것 인가에 대한 부분으로 이해하면 된다.
본인이 워드프레스를 시놀로지 나스에 구성한 경우 아래와 같은 방법으로 메모리를 조정해 줄 수 있다.
방법에 차이가 있겠지만, 다른 제조사의 NAS를 쓰거나 클라우드를 쓰는 경우에도 전체적인 절차는 동일하다.
PHP memory 조정 (php.ini 수정)
리눅스 환경인 경우 php.ini 파일을 직접 수정해야 하지만, 시놀로지 연동 중인 경우 dsm에서 수정이 가능하다.
dsm 7.2 기준, “웹스테이션-스크립트 언어 설정”에서 워드프레스에 적용한 PHP 선택 – 편집화면으로 들어간다.
이후 등장한 아래의 화면에서 memory_limit 값을 찾아 수정하면 된다.
입력값의 형식은 40M, 64M, 128M, 1G와 같이
“1MB”와 같은 식의 같은 용량 표기에서 B를 제외하고 표기한다.
워드프레스 메모리 수정
워드프레스 메모리 수정을 위해서는 wp-config.php 파일을 수정한다.
wp-config.php 파일을 열어, 아래의 구문을 추가하면 된다.
define( ‘WP_MEMORY_LIMIT’, ‘256M’ );
작성되어있는 코드들 아래 쪽으로 작성하면 된다.
보통은 “That’s all, stop editing! Happy publishing.”라고 써 있는 부분 윗라인에 작성한다.
이때, 256M 부분에 본인이 할당하고자 하는 용량을 넣으면 된다. (ex, 40M, 64M, 128M, 1G)
해당 파일을 수정하는 방법으로 대부분 글에서는 SSH를 제안하곤 하는데,
아마 클라우드 서비스 이용자들도 염두에 둔 설명인 것 같다.
시놀로지 활용자라면 굳이 SSH 포트를 열고 닫고 할거 없이, DSM만으로도 편집이 가능하다.
위와 같이 DSM의 텍스트 편집기가 php 파일 편집도 지원하기 때문이다.
다만, 워드 프레스 폴더의 wp-config.php에 직접 접근해서 편집 후 저장하려 하면
권한 에러가 생길 가능성이 매우 높으므로, 약간의 꼼수를 부려준다.
(권한에러가 생긴다고해서 큰일이 나는 건 아니고, 그저 저장이 안될 뿐이다.)
간단하다.
편집하고자 하는 wp-config.php 파일을 권한과 상관없는 위치에 복사 붙여넣기 후, 파일을 수정한 후 워드프레스 폴더에 덮어쓰기만 하면 된다.
(수정은 안되고 덮어쓰기는 가능한 아이러니. 아마 패키지별 권한 때문인듯 하다.)
PHP memory_limit은 얼마나 줘야할까
define( ‘WP_MEMORY_LIMIT’, ‘-1’ );
위와 같이 작성하면 메모리 값을 물리적 메모리의 한계치까지 줄 수도 있다.
높일 수록 쾌적해지는 건 맞다.
그러나, 서버의 램용량 대비 너무 과도하게 설정하면 문제가 생길 수 있다.
적정 값은 없으나, 대체로 워드프레스 환경에서는 128M 정도면 충분한 것으로 알려져 있다.
다만 각자의 홈페이지 환경에 맞아야 한다.
예를 들어 서버의 용량이 4G, 메모리 리밋이 128M인 상황에서,
40명의 동시 접속자가 메모리에 풀-로드가 걸리는 작업을 발생시키면?
40 x 128M = 5.12G로 한계 용량을 초과하게 되고 서버가 다운된다.
물론, 이는 방문자가 적거나, 풀-로드 걸일 일이 없는 경우.
혹은 걸려도 지속 시간이 매우 짧다면, 서버 다운의 확률은 0으로 수렴한다.
그럼에도, 필요이상의 메모리가 주는 이익은 적고 문제의 소지는 존재하는 만큼,
적정한 메모리로 유지하는 편이 안전하다.