Le richieste AJAX a throughput elevato causano prestazioni insoddisfacenti
Questo articolo fornisce una soluzione per i problemi di prestazioni con Adobe Commerce on-premise o Adobe Commerce sui siti dell’infrastruttura cloud a causa di alcune richieste di throughput elevate che causano un carico e un traffico significativi del server.
Prodotti e versioni interessati
- Adobe Commerce sull’infrastruttura cloud 2.2.x, 2.3.x
- Adobe Commerce on-premise 2.2.x, 2.3.x
Problema
Il sito presenta un rallentamento delle prestazioni a causa di richieste di throughput elevato, come le richieste AJAX critiche.
Causa
Le richieste AJAX a throughput elevato includono quelle relative ai contenuti privati dei clienti.
Soluzione
Sono disponibili tre soluzioni:
- Eseguire l'aggiornamento alla versione 2.3.4.
- Assicurati richieste più leggere (memorizza nella cache le richieste o passa al contenuto privato dei clienti).
- Riduci il numero di richieste.
Garantire richieste più leggere (memorizzare in cache le richieste o passare al contenuto privato dei clienti)
Se in ogni pagina sono presenti richieste AJAX di terze parti attivate, prova a memorizzarle nella cache o a spostarle nel contenuto privato dei clienti. Il commerciante può eseguire questa operazione assicurandosi che le richieste AJAX personalizzate vengano chiamate utilizzando i metodi HTTP GET. Renderà queste richieste memorizzabili nella cache da Fastly. Se ci sono richieste AJAX personalizzate che non devono essere memorizzate in cache, è necessario eseguirne il refactoring in base alla funzionalità di contenuto privato. Per i passaggi, consulta Contenuto privato nella documentazione per gli sviluppatori.
Riduci il numero di richieste
- Disattiva il carrello acquisti permanente, in quanto può aumentare il numero di
customer/section/load
richieste. Segui i passaggi descritti in Percorsi persistenti del carrello nella documentazione per gli sviluppatori per verificare se il carrello permanente è abilitato. - Se devi ricaricare o annullare la validità del contenuto in
sections.xml
, segui i passaggi descritti in Contenuto privato: annulla la validità del contenuto privato nella documentazione per sviluppatori. Assicurarsi di non utilizzare il metodocustomerData.reload()
direttamente nelle personalizzazioni. - Controlla le altre richieste AJAX di POST sulla stessa pagina. Apri Google Chrome Developer Tool nel browser Google Chrome. Fare clic sulla scheda Rete e quindi sulla scheda XHR. Verrà visualizzato l'elenco di tutte le richieste AJAX dalla pagina specifica. Quindi fai clic su ciascuna richiesta e nel campo Request Method (Metodo di richiesta) dovrebbero essere le richieste GET. Nota: Google Chrome viene utilizzato come esempio ed è possibile farlo anche in altri browser.
- Verifica la funzionalità Google Tag Manager (GTM) che è una richiesta AJAX specifica. L’utente può rimuovere questo AJAX e rieseguire il factoring della personalizzazione con funzionalità private per ridurre il numero totale di richieste al server.
- Controlla se il banner di Adobe Commerce è abilitato ma non utilizzato. Potrebbe essere necessario Disattivare l'output del banner Adobe Commerce per migliorare le prestazioni del sito.
Lettura correlata
Per ulteriori informazioni sui contenuti privati dei clienti, consulta Contenuto privato nella documentazione per gli sviluppatori.