[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

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