성능 문제 파악 및 해결
New Relic 및 Adobe Commerce용 관찰 과 같은 다양한 도구를 사용하여 병목 현상을 감지하고 Commerce 사이트를 효과적으로 최적화하여 성능 문제를 해결합니다. New Relic은(는) 클라우드 인프라의 Adobe Commerce에 포함되어 있으며 Adobe Commerce에 대한 관찰은(는) 클라우드 및 온-프레미스 배포에 모두 포함되어 있습니다.
이러한 도구를 사용하여 사이트 성능을 분석하고 다음과 관련된 성능 문제를 식별합니다.
- CPU를 많이 사용하는 기능
- 쿼리 및 백엔드 작업에 대한 캐시 관리 구성
- 서드파티 API 호출
- Cron 스케줄링
예를 들어 제품 세부 사항 및 범주 페이지에 중점을 두고 거래를 면밀히 검사할 수 있습니다. 성능 향상을 위해 최적화할 수 있는 시간 소모적인 프로세스를 파악합니다. 한 고객 참여에서 objectsource는 제품 세부 사항 페이지의 성능 문제를 발견했고 이 결과 성능 시간의 3.5%가 소모되는 API 호출을 발견했습니다. 이 결과를 기반으로 코드 실행 계층 구조를 검사하여 병목 현상을 일으키는 문제를 정확히 찾아내고 해결했습니다.
사이트 성능 관리에 대해 자세히 알아보기:
- 성능 모니터링(클라우드 인프라)
- 구성 모범 사례
- Adobe Commerce 관찰
MySQL 성능 최적화
데이터베이스 클러스터링 및 쿼리 최적화를 구현하여 MySQL 성능 문제를 해결하는 것은 블랙 프라이데이와 같이 트래픽이 많은 시기 전후에 성능을 개선하는 효과적인 방법입니다.
데이터베이스 클러스터링 구현
트래픽이 많은 웹 사이트는 주로 단일 MySQL 서버에 의존하여 데이터베이스 병목 현상을 겪습니다. 성능을 향상시키고 고가용성을 보장하는 분산 아키텍처인 데이터베이스 클러스터링을 구현하여 이러한 병목 현상을 해결할 수 있습니다.
데이터베이스 클러스터링은 여러 웹 노드가 여러 MySQL 서버에 연결할 수 있도록 함으로써 최대 트래픽 기간 동안 데이터베이스 관련 문제의 영향을 최소화합니다. Galera Cluster와 같은 도구를 사용하여 Commerce 사이트에 대한 데이터베이스 클러스터링을 설정합니다. Galera 클러스터는 클라우드 인프라에 배포된 Adobe Commerce 프로젝트에 포함되어 있습니다.
MySQL 쿼리 최적화
일반적으로 대부분의 Adobe Commerce 사이트의 인프라는 단일 MySQL 서버에 연결된 여러 웹 노드로 구성됩니다.
이 설정에서는 각 프론트엔드 웹 노드가 여러 MySQL 서버를 허용하는 Galera Cluster에 연결됩니다. 프론트엔드 웹 노드의 수를 늘리면 애플리케이션 성능이 향상될 수 있지만, 단일 MySQL 서버는 여전히 병목 현상으로 남아 있습니다.
MySQL 서버 성능을 최적화하고 병목 현상을 최소화하려면 불필요한 쿼리를 식별하고 줄이는 것이 중요합니다. 예를 들어 초당 1,000개의 쿼리를 보내지만 200개만 필요한 경우 쿼리 수를 최적화하고 줄이면 성능이 크게 향상될 수 있습니다.
MySQL 구성 및 최적화에 대해 자세히 알아보기: