대규모 WordPress E-Com 사이트 - 매우 느린 성능(포스트 메타 데이터 및 주문 데이터의 양이 많음)

대규모 WordPress E-Com 사이트 - 매우 느린 성능(포스트 메타 데이터 및 주문 데이터의 양이 많음)

나는 WordPress에서 운영되는 전자상거래 상점을 운영하고 있습니다(WooCommerce와 함께 사용). - 우리는 약 4년 동안 사이트를 운영해 왔고 그 기간 동안 우리 웹사이트의 매출과 고객 가입이 크게 성장했습니다. 단점은 우리 웹사이트가 여러 영역에서 극도로 느려졌다는 것입니다. (여기에는 매장 백엔드에서 제품 편집과 같은 작업 실행과 고객이 우리 웹사이트를 탐색하고 주문을 완료하는 방식의 관점에서 볼 때 포함됩니다.

여기서 문제는 시간이 지남에 따라 엄청난 양의 포스트 메타 데이터와 사용자 메타 데이터가 MySQL 데이터베이스에 축적되어 결과적으로 성능이 실제로 저하되어 사이트 전반에 걸쳐 여러 문제가 발생한다는 것입니다. 로딩 시간과 관련하여.

정확히는:

  • 포스트메타 데이터베이스 테이블은 ~3,554,802개의 행으로 구성되어 있습니다.
  • usermeta 데이터베이스 테이블은 ~2,759,005개의 행으로 구성됩니다.
  • 마지막으로 woocommerce_order_itemmeta는 ~1,343,448개의 행으로 구성됩니다. 우리 DB에 있는 다른 테이블 중 상당수는 행 수 측면에서 일반적으로 6자리 영역 내에 있습니다.

이전 데이터(예: 이전 주문 데이터 등)를 삭제할 수 있다는 것을 알고 있지만 데이터를 삭제하지 않고 성능 문제를 해결하기 위한 대체 접근 방식을 추천할 수 있는 사람이 있습니까?

행 개수가 많은 DB 테이블을 인덱싱하기 위해 인덱싱 플러그인을 사용하라고 조언하는 기사를 본 적이 있습니다. 그러나 마지막으로 이 접근 방식을 시도했을 때 데이터베이스가 손상되었습니다. (그러나 복원 준비가 된 대기 백업이 있었습니다. )

나는 WordPress bloating과 관련하여 많은 게시물/기사가 있다는 것을 알고 있습니다. 이는 DB 내에 구축되는 많은 양의 메타데이터 및 포스트 데이터와 함께 제공되지만, WordPress에 더 적합한 대체 DB 엔진/시스템과 같은 권장 사항이 있습니까? 더 많은 양의 데이터를 처리하고 계십니까?

아니면 행 수가 많은 DB 테이블을 더 빠르게 처리하기 위해 현재 DB에 대한 최적화 수행과 관련된 권장 사항이 있을까요? (페이지 로딩 시간을 빠르게 하기 위해)

MySQL DB 서버 사양:

  • 테이블 엔진: INNODB

  • 현재 원격 데이터베이스 서버에서 DB를 실행하고 있으며 MySQL 8.0을 사용하고 있습니다.

서버 사양:

  • 베어메탈 서버
  • CPU:16 코어 x 3.0GHz(AMD Epyc 7302P)
  • RAM:128GB
  • NVMe2 x 960GB 하드웨어 RAID 1

관련 정보