객체 캐싱과 완벽하게 작동하는 WPML 3.1.9의 첫 번째 베타 버전을 발표하게 되어 매우 기쁩니다. 많은 문구가 포함된 대규모 사이트의 성능을 크게 향상시키고자 한다면 이 버전이 적합합니다.
WPML의 문자열 번역은 .mo 파일을 거치지 않고도 문구를 번역할 수 있게 해주는 매우 중요한 기능을 수행합니다. 이는 PHP 코드가 아닌 데이터베이스에 생성되고 저장되는 동적 문구의 경우 특히 중요합니다.
WPML 3.1.9는 대대적인 성능 향상을 향한 첫걸음입니다. 이번 단계에서는 객체 캐싱 플러그인이 반복적인 접근을 포착하여 제거할 수 있도록 했습니다. 다양한 캐싱 기법을 실험한 끝에 가장 성능이 뛰어난 ‘WPML에서 캐싱하지 않음’ 방식을 채택했습니다. 조금 놀라울 수 있지만, 실제로는 이치에 맞습니다. 캐싱 플러그인은 작업을 그룹화하여 더 크고 빠른 청크 형태로 메모리에 저장하려고 합니다. WPML이 자체적으로 문구를 캐싱하려고 시도했을 때, 이는 객체 캐싱을 무용지물로 만들었습니다.
이번 릴리스에서는 캐싱을 완전히 정리하고 데이터베이스 접근을 최적화했으며 모든 항목을 객체 캐싱에서 접근할 수 있도록 만들었습니다. 이를 통해 로직을 단순화(PHP 처리 감소, 오류 발생 가능성 감소)할 수 있으며, 객체 캐싱이 제 역할을 다할 수 있게 됩니다.
문자열 번역의 로드가 전체 페이지 로드에서 차지하는 비중이 크지 않기 때문에 많은 사이트에서는 성능 향상을 거의 체감하지 못할 것입니다. 하지만 문구가 많은 일부 사이트에서는 상당한 개선 효과를 볼 수 있습니다. 객체 캐싱이 없더라도 데이터베이스 쿼리가 이미 훨씬 줄어들었을 것입니다. 또한, 객체 캐싱을 활성화하면 훨씬 더 큰 개선 효과를 얻을 수 있습니다.
W3TC로 객체 캐싱을 활성화하는 방법
객체 캐싱에는 약간의 계획과 설정이 필요합니다. 필요한 요소의 목록은 다음과 같습니다.
- opcache PHP 플러그인(WordPress 플러그인과 혼동하지 마세요)
- PHP < 5.5의 경우 => APC를 사용하고 충분한 메모리를 설정하세요(대규모 사이트(주로 WCML)의 경우 128MB 이상 권장). 운영 환경에서는 apc.stat를 활성화하세요.
- 설정을 잘 아는 사용자는 APC에서 sitepress.class 및 기타 매우 큰 파일을 제외해 볼 수도 있으며, 이를 통해 상당한 이점을 얻을 수 있습니다.
- pecl을 통해 설치
- PHP >= 5.5의 경우 => ZendOpcache를 사용하세요. 현재 더 빠르고 구성하기가 훨씬 쉽습니다.
- pecl을 통해 설치하거나 PHP 컴파일 중에 설치
- PHP < 5.5의 경우 => APC를 사용하고 충분한 메모리를 설정하세요(대규모 사이트(주로 WCML)의 경우 128MB 이상 권장). 운영 환경에서는 apc.stat를 활성화하세요.
- W3TC 자체 설정
- 다양한 캐싱 옵션(Database, Object 등)에 사용할 OpCache 플러그인을 선택하세요. 여기서는 하드 드라이브(Harddrive)를 절대 사용하지 마세요!
- 출력에 대한 gZip 설정에 주의하세요(강력한 CPU가 없는 경우 오히려 속도가 느려질 수 있습니다).
- PHP 구성:
- 충분한 RAM 설정
- PHP 쿼리 캐시 활성화(W3TC와 직접적인 관련은 없지만 특정 부분에서 큰 도움이 됨)
- MySQL 구성:
- 까다로운 memcached 설정이 없는 경우 => MySQL 쿼리 캐시를 시도해 보세요. 특히 새로운 문자열 번역에서 상당한 이점을 제공할 것입니다.
WPML 3.1.9 다운로드 및 사용해 보기
이 버전은 베타 버전이므로 수동으로 다운로드해야 합니다. WPML.org 계정에 로그인하고 다운로드를 클릭하세요.
맨 아래로 스크롤하여 CMS Beta Package를 받으세요. 이는 다른 ZIP 파일을 포함하는 ZIP 파일입니다. 로컬에서 압축을 풉니다. 이제 ZIP 파일을 WordPress에 업로드(자동으로 압축이 풀림)하거나, 직접 압축을 풀어 플러그인 폴더에 저장할 수 있습니다.
질문, 제안, 아이디어가 있으신가요? 의견을 남겨주시면 답변해 드리겠습니다.

