Zoekopdrachten analyseren met Percona Toolkit (alleen Adobe Commerce Pro: Cloud-architectuur)

Als uw Adobe Commerce-project wordt geïmplementeerd op Pro-architectuur, kunt u query's analyseren met de Percona Toolkit .

  1. Voer de opdracht pt-query-digest --type=slowlog uit op basis van MySQL langzame querylogs.

  2. Gebaseerd op de gevonden kwesties, onderneem stappen om de vraag te bevestigen, zodat loopt het sneller.

MySQL "process list" controleren

Beschrijving

Dit zal helpen om te identificeren als de server MySQL levend is en dat er geen geplakte vragen zijn.

Stappen

  1. Meld u aan bij uw MySQL-opdrachtregel (Adobe Commerce on-premisse/Magento Open Source) of bij uw cloudserver via de opdrachtregel (Adobe Commerce on cloud Infrastructure).

  2. Meld u met het onderstaande codeblok aan bij MySQL. Hierdoor wordt het aanmeldingsproces geautomatiseerd.

    `export DB_NAME=$(grep [\']db[\'] -A 20 app/etc/env.php | grep dbname | head -n1 | sed "s/.*[=][>][ ]*[']//" | sed "s/['][,]//");    export MYSQL_HOST=$(grep [\']db[\'] -A 20 app/etc/env.php | grep host | head -n1 | sed "s/.*[=][>][ ]*[']//" | sed "s/['][,]//");    export DB_USER=$(grep [\']db[\'] -A 20 app/etc/env.php | grep username | head -n1 | sed "s/.*[=][>][ ]*[']//" | sed "s/['][,]//");    export MYSQL_PWD=$(grep [\']db[\'] -A 20 app/etc/env.php | grep password | head -n1 | sed "s/.*[=][>][ ]*[']//" | sed "s/[']$//" | sed "s/['][,]//");    mysql -h $MYSQL_HOST -u $DB_USER --password=$MYSQL_PWD $DB_NAME -U -A -e 'show processlist;`
    
  3. Als u een fout terug krijgt of het meer dan 30 seconden vergt om te antwoorden, zou u Steun moeten contacteren om de server te controleren MySQL.

  4. Bekijk de voorbeelduitvoer.

  5. Hier volgt een voorbeeld van uitvoer:

    `$ mysql -h $MYSQL_HOST -u $DB_USER --password=$MYSQL_PWD $DB_NAME -U -A -e 'show processlist;'    +-----------+---------------+--------------------+---------------+---------+------+----------------+------------------------------------------------------------------------------------------------------+----------+    | Id        | User          | Host               | db            | Command | Time | State          | Info                                                                                                 | Progress |    +-----------+---------------+--------------------+---------------+---------+------+----------------+------------------------------------------------------------------------------------------------------+----------+    | 123456789 | abcdefghijklm | 192.168.7.10:12345 | abcdefghijklm | Query   |    0 | Writing to net | SELECT `magento_versionscms_hierarchy_node`.*, `page_table`.`title` AS `page_title`, `page_table`.`i |    0.000 |    | 123456788 | abcdefghijklm | 192.168.7.10:12344 | abcdefghijklm | Sleep   |    0 |                | NULL                                                                                                 |    0.000 |    | 123456777 | abcdefghijklm | 192.168.7.10:12333 | abcdefghijklm | Sleep   |    0 |                | NULL                                                                                                 |    0.000 |    | 123456666 | abcdefghijklm | 192.168.5.8:12222  | abcdefghijklm | Sleep   |    0 |                | NULL                                                                                                 |    0.000 |`
    
  6. Controleer de kolom "Tijd"voor om het even welke tijd groter dan 1800 seconden; dat wijst op een proces dat potentieel teveel tijd neemt om te voltooien. Noteer de status van de processen in de kolom "Staat".

  7. Herzie de vragen en misschien doden hen als zij worden gevonden niet om voor die tijdsduur te lopen. Het is mogelijk dat de lange lopende vragen kunnen worden verwacht.