WPML
상태
해결됨
보고된 제품
WPML Multilingual CMS 3.1.9.7
해결된 버전
3.2

문제 개요

페이지를 사용할 수 없게 되거나 로드 속도가 매우 느려집니다.

실행되는 쿼리를 모니터링할 수 있는 경우 다음 쿼리에 대한 참조를 확인할 수 있습니다.

SELECT meta_key

FROM wp_postmeta

GROUP BY meta_key

ORDER BY meta_key

LIMIT 1000;

임시 해결 방법

WPML 파일 하나를 약간 편집해야 합니다.

FTP 클라이언트를 사용하여 이 파일을 편집할 수 있습니다.


  1. wp-content/plugins/sitepress-multilingual-cms/inc/translation-management/translation-management.class.php을 여세요.

  2. 102번째 줄로 이동하여 다음 줄을 확인하세요. $this->initial_custom_field_translate_states();

  3. 줄 맨 앞에 “//”를 추가하여 해당 줄을 주석 처리하세요.

  4. 파일을 저장하세요.

이렇게 하면 성능이 크게 향상될 수 있다는 점을 제외하고는 아무것도 변경되지 않습니다. 이 변경에 따른 부작용은 없습니다. 과거에는 역할을 했지만 더 이상 필요하지 않은 코드를 주석 처리하는 것입니다.

백엔드와 프런트엔드 모두에서 실행되는 쿼리가 급증하는 현상을 확인했습니다. 이는 (당사 사이트와 같이) 수백만 개의 postmeta 항목이 있는 규모가 매우 큰 사이트에만 영향을 미칩니다.

이 쿼리는 더 이상 중요한 역할을 하지 않는 이전 로직에서 발생한 것입니다. WPML 3.2에서는 이를 완전히 제거합니다.

페이지 로딩 시간이 크게 급증한 경우 이 문제일 수 있습니다.

하지만 WordPress 4.2에서 문자 집합을 UTF8-bytes로 변경했기 때문에 다른 많은 플러그인과 테마에서 성능 문제가 나타날 수 있습니다. 이 업그레이드는 (당사 서버에서 발생한 것처럼) 인덱싱을 변경할 수 있으며 (당사가 겪은 것처럼) MySQL과 예기치 않은 상호 작용을 일으킬 수 있습니다. 이로 인해 영향이 매우 적었던 요소가 갑자기 심각한 문제를 일으킬 수 있습니다.

따라서 MySQL 느린 쿼리 로그를 활성화하고 어떤 쿼리가 서버 성능에 실제로 영향을 미치고 있는지 확인하는 것이 좋습니다.

알려진 모든 문제 →