ACSD-50858: Betere prestaties voor het laden van banners'-inhoud
Het ACSD-50858 flard lost een probleem van bannerprestaties in de kar/de controlepagina op: buitensporige vragen van OB en verhoogde tijd van de paginading. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT)1.1.31 wordt geïnstalleerd. De patch-id is ACSD-50858. Het probleem wordt volgens de planning opgelost in Adobe Commerce 2.4.7.
Betrokken producten en versies
het flard wordt gecreeerd voor de versie van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.5-p1
Compatibel met de versies van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.4 - 2.4.6
magento/quality-patches
-pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina. Gebruik de patch-id als een zoekwoord om de patch te zoeken.Probleem
De prestaties van de banner worden beïnvloed in het karretje/de controlepagina toe te schrijven aan buitensporige vragen van DB en verhoogde tijd van het paginading.
Dit probleem is opgelost door de manier te wijzigen waarop de inhoud van banners wordt geladen. Hierdoor is het aantal DB-query's met 99,99% en de laadtijd van de pagina met ~99% verminderd.
Stappen om te reproduceren:
-
Meld u aan bij Admin en maak een eenvoudig product.
-
Maak een klant, hetzij via Admin of de frontend, en voeg er een verzendadres voor toe.
-
Verplaats banners.php naar de map
magento_root/pub/
. -
Maak banners met de opdracht
php pub/banners.php
. Het zal 10.000 eenvoudige banners en 1.000 banners met verkoopregels produceren. -
Meld u aan bij de klant die u eerder op de voorzijde hebt gemaakt.
-
Voeg het eerder gemaakte product toe aan het winkelwagentje.
-
Ga naar de afhandelingspagina (Afrekenen/Kar).
-
Controleer de laadtijd van de
banner/ajax/load
aanvraag:-
Zonder
bin/magento dev:query-log:enable
-
Met
bin/magento dev:query-log:enable
code language-none grep 'magento_banner_content' var/debug/db.log | wc -l
-
Verwachte resultaten :
Verlaag het aantal DB-query's voor magento_banner_content
en de laadtijd van de pagina met cart- en uitcheckpagina.
Ware resultaten :
Verhoog het aantal DB-query's voor magento_banner_content
en de laadtijd van de pagina met cart/checkout.
De patch toepassen
Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:
- Adobe Commerce of Magento Open Source op locatie: Quality Patches Tool > Gebruikin de handleiding Quality Patches Tool .
- Adobe Commerce op wolkeninfrastructuur: Verbeteringen en Patches > Pas Patchesin Commerce op de gids van de Infrastructuur van de Wolk toe.
Aanvullende informatie
banners.php inhoud :
\Banner::class);
$banner->setIsEnabled(
\Magento\Banner\Model\Banner::STATUS_ENABLED
)->setName(
'Test Dynamic Block '.$i
)->setTypes(
''
)->setStoreContents(
[0 => 'Dynamic Block Content '.$i]
)->save();
}
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
/** @var \Magento\SalesRule\Model\Rule $salesRule */
$salesRule = $objectManager->create(\Magento\SalesRule\Model\Rule::class);
$salesRule->setData(
[
'name' => '50% Off ',
'is_active' => 1,
'customer_group_ids' => [\Magento\Customer\Model\GroupManagement::NOT_LOGGED_IN_ID],
'coupon_type' => \Magento\SalesRule\Model\Rule::COUPON_TYPE_NO_COUPON,
'conditions' => [
[
'type' => \Magento\SalesRule\Model\Rule\Condition\Address::class,
'attribute' => 'base_subtotal',
'operator' => '>',
'value' => 0
]
],
'simple_action' => 'by_percent',
'discount_amount' => 50,
'discount_step' => 0,
'stop_rules_processing' => 1,
'website_ids' => [
1
]
]
);
$salesRule->save();
for ($i = 0; $i < 1000; $i++) {
$banner = $objectManager->create(\Magento\Banner\Model\Banner::class);
$banner->setData(
[
'name' => 'Get 50% Off ',
'is_enabled' => \Magento\Banner\Model\Banner::STATUS_ENABLED,
'types' => [], /*Any Banner Type*/
'store_contents' => ['<img src="http://example.com/banner_40_percent_off.png" />'],
'banner_sales_rules' => [$salesRule->getId()],
]
);
$banner->save();
}
Gerelateerde lezing
Meer informatie over Quality Patches Tool vindt u in:
- Quality Patches Tool vrijgegeven: een nieuw hulpmiddel om kwaliteitspatchesin de steunkennisbasis zelf-te dienen.
- Controle als het flard voor uw kwestie van Adobe Commerce beschikbaar is gebruikend Quality Patches Tool in de Quality Patches Tool gids.
Voor informatie over andere flarden beschikbaar in QPT, verwijs naar Quality Patches Tool: Onderzoek naar flardenin de Quality Patches Tool gids.