[PaaS만]{class="badge informative" title="Adobe Commerce 온 클라우드 프로젝트(Adobe 관리 PaaS 인프라) 및 온프레미스 프로젝트에만 적용됩니다."}

ACSD-57477: 판매 규칙 처리를 통해 장바구니 관련 요청의 성능이 저하됩니다.

ACSD-57477 패치는 판매 규칙 처리가 장바구니 관련 요청에서 성능 저하를 초래하는 문제를 해결합니다. 이 패치는 Quality Patches Tool (QPT) 1.1.69가 설치된 경우에 사용할 수 있습니다. 패치 ID는 ACSD-57477입니다. 이 문제는 Adobe Commerce 2.4.7에서 수정됩니다.

영향을 받는 제품 및 버전

Adobe Commerce 버전에 대한 패치가 만들어졌습니다.

  • Adobe Commerce(모든 배포 방법) 2.4.6-p2

Adobe Commerce 버전과 호환:

  • Adobe Commerce(모든 배포 방법) 2.4.6 - 2.4.6-p11
NOTE
새 Quality Patches Tool 릴리스가 있는 다른 버전에 패치를 적용할 수 있습니다. 패치가 Adobe Commerce 버전과 호환되는지 확인하려면 magento/quality-patches 패키지를 최신 버전으로 업데이트하고 Quality Patches Tool에서 호환성을 확인합니다. 패치 검색 페이지. 패치 ID를 검색 키워드로 사용하여 패치를 찾습니다.

문제

매개 변수를 GraphQL 변수로 보낼 경우 판매 규칙을 처리하면 장바구니 관련 요청에 대한 성능이 느려집니다.

재현 단계:

  1. 1000개의 제품 속성을 추가합니다.

  2. GraphQL 쿼리 아래에서 장바구니를 만듭니다.

    code language-none
    mutation {createEmptyCart}{noformat}
    
  3. GraphQL 쿼리 아래에서 장바구니에 제품을 추가합니다.

    code language-none
    mutation AddProductsToCart($cartId: String!, $products: [CartItemInput!]!) {
        addProductsToCart(cartId: $cartId, cartItems: $products) {
          cart {
            id
            __typename
          }
          __typename
        }
      }
    
  4. 이러한 변수를 설정합니다.

    code language-none
    {
      "cartId": "id_here",
      "products": [
        {
          "sku": "product_dynamic_1",
          "parent_sku": "product_dynamic_1",
          "quantity": 1
        }
      ]
    }
    
  5. 이 문제는 매개 변수를 GraphQL 변수로 보낼 때만 발생합니다. GraphQL 쿼리 자체에 매개 변수를 포함하면 이 문제는 발생하지 않습니다.

  6. GraphQL 쿼리 자체에 매개 변수를 추가한 후 동일한 장바구니에 추가 요청을 보냅니다.

    code language-none
    mutation {
     addProductsToCart(
       cartId: "id_here"
       cartItems:  [
        {
          sku: "product_dynamic_1",
          parent_sku: "product_dynamic_1",
          quantity: 1
        }
      ]
     ) {
       cart {
            id
            __typename
          }
          __typename
     }
    }
    

예상 결과:

AddProductsToCart GraphQL 작업 성능을 저하해서는 안 됩니다.

실제 결과:

AddProductsToCart GraphQL 작업 성능이 저하됩니다. 매개 변수를 변수로 보낼 때 모든 제품 특성이 로드되기 때문입니다.

패치 적용

개별 패치를 적용하려면 배포 방법에 따라 다음 링크를 사용합니다.

관련 읽기

Quality Patches Tool에 대한 자세한 내용은 다음을 참조하세요.

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3