Adobe Commerce: le query MySQL bloccate nello stato "In attesa di certificazione" causano problemi di prestazioni

Lo stato In attesa di certificazione in MySQL fa parte del processo di commit in due fasi utilizzato nei cluster basati su Galera che alimenta Adobe Commerce. Questo meccanismo garantisce che non vi siano conflitti nel database ogni volta che viene inviata una transazione. Anche se brevi apparizioni di questo stato sono normali, durate prolungate indicano colli di bottiglia delle prestazioni. Questi ritardi possono essere causati da query con tempi di esecuzione lunghi, conflitti elevati o problemi di infrastruttura.

Per risolvere questo problema, analizza le query lente, gestisci lo svuotamento della cache, implementa i consigli SWAT e ottimizza le statistiche del database.

Descrizione description

Ambiente

  • Prodotto: Adobe Commerce
  • Tipo di cluster di database: MySQL basato su Galera

Problema/Sintomi

Deterioramento delle prestazioni causato da un numero elevato di query MySQL bloccate nello stato In attesa di certificazione. I sintomi includono:

  • Visibilità ritardata del prodotto nel carrello.
  • Esecuzione query lenta.
  • File di registro delle query lente di grandi dimensioni.
  • Gli scaricamenti della cache coincidono con i tempi di utilizzo di picco.

Risoluzione resolution

Per risolvere il problema:

  1. Esaminare i registri di query lente MySQL per identificare le query con tempi di esecuzione lunghi. Se la dimensione del file di registro cresce fino a centinaia di megabyte, indica un problema grave. Ottimizza le query problematiche per ridurre i colli di bottiglia e migliorare le prestazioni complessive. Per ulteriori informazioni, consultare Verifica delle query lente ed elabora MySQL nella documentazione di Commerce KB.

  2. Pianifica lo svuotamento della cache durante le ore non di picco, ad esempio la notte o la mattina presto. In questo modo è possibile evitare l'aumento del carico del sistema durante i periodi di elevata richiesta e il degrado delle prestazioni. Per ulteriori informazioni, consultare la documentazione Gestione della cache nella Guida alla configurazione di Commerce.

  3. Implementare le raccomandazioni del rapporto SWAT. Ad esempio, è possibile aggiungere alle tabelle le chiavi primarie mancanti e ridurre al minimo l’utilizzo dei trigger, che possono ridurre il conflitto e migliorare la velocità della certificazione. Ulteriori informazioni su Strumento di analisi per l'intero sito sono disponibili nella documentazione di Commerce Tools.

  4. Nota: Questa operazione potrebbe bloccare temporaneamente le tabelle. Eseguirlo al di fuori dell’orario di lavoro e assicurarsi che i processi cron siano disabilitati per evitare interruzioni.

    Eseguire mysqlcheck con l'analisi della tabella per verificare che le statistiche del database siano aggiornate:

    code language-none
    mysqlcheck -h<host_name> -u<user_name> -p -a <db_name>
    
  5. Verificare che le statistiche della tabella siano aggiornate. Le statistiche obsolete possono causare piani di esecuzione delle query inefficienti, che a loro volta compromettono le prestazioni nel cluster.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f