Maison> base de données> tutoriel mysql> le corps du texte

Comment le réglage MySQL peut améliorer les performances de PrestaShop

王林
Libérer: 2024-08-13 18:30:40
original
949 Les gens l'ont consulté

PrestaShop est une plateforme de commerce électronique spécialisée, gratuite et open source développée en PHP, visant à fournir aux entreprises, des startups aux grandes entreprises, l'infrastructure nécessaire pour lancer, gérer et faire évoluer leurs boutiques en ligne.

Offrant une riche sélection de thèmes personnalisables et une suite complète de fonctionnalités de commerce électronique, PrestaShop prend en charge un large éventail de fonctionnalités, telles que la gestion des produits, les paiements sécurisés, l'expédition et la gestion des stocks, directement dès la sortie de la boîte.

Comment améliorer les performances des applications

L'amélioration des performances des applications grâce au réglage est mieux obtenue avec une approche globale qui aborde les domaines suivants :

  • Ressources du serveur – CPU, mémoire, stockage
  • Configurations logicielles — Linux, Nginx, Php…
  • Configurations du système de gestion de base de données (SGBD) – MySQL, PostgreSQL
  • Optimiser le schéma de base de données et modifier les index
  • Optimiser les applications — Code, Requêtes, Architecture…

De nombreux développeurs PrestaShop expérimentés ne considèrent pas l'optimisation des performances des bases de données comme une opportunité d'améliorer les performances de leurs applications, car ils connaissent peu ce domaine. Ils passent beaucoup de temps à optimiser la base de code, mais celle-ci atteint un point où elle n'apporte plus de résultat précieux pour le temps et l'énergie investis. Notre recherche sur la façon dont le réglage MySQL affecte positivement les performances des applications Web open source populaires vise à présenter ce fait aux utilisateurs.

Configuration des tests

La version de PrestaShop utilisée pour les tests est la 8.1.2, qui est spécifiquement optimisée pour une utilisation avec PHP 8.1. Des conseils détaillés sur l’installation de cette version de PrestaShop peuvent être trouvés dans la documentation officielle.

Nous avons installé PrestaShop avec l'installation par défaut avec les données de démonstration, exportons tous les produits de démonstration et les importons plusieurs fois en tant que nouveaux produits, puis nous installons plusieurs langues pour le commerce électronique.

La durée de notre test était de 2 jours. Pour gérer cette période de test plus longue, nous sommes passés de BlazeMeter (durée maximale du test de 20 minutes) à Locust, un outil de test de charge open source.

Nous avons utilisé :
Instance GCP Compute Engine c2-standard-4, équipée de Debian Bullseye pour le système d'exploitation, d'Apache pour le serveur Web et de MariaDB 10.5 dans sa configuration par défaut avec une taille de base de données de 1 Go.

Configuration MySQL

Configuration optimisée pour Prestashop :

[mysqld] innodb_change_buffering=none innodb_change_buffer_max_size=25 innodb_adaptive_flushing_lwm=25.000000 innodb_max_dirty_pages_pct=70.000000 innodb_autoextend_increment=48 thread_stack=299008 transaction_prealloc_size=8192 thread_cache_size=172 max_connections=172 query_cache_type=1 query_cache_size=134217728 query_cache_limit=33554432 query_cache_min_res_unit=4096 key_buffer_size=8388608 max_heap_table_size=16777216 tmp_table_size=16777216 innodb_buffer_pool_size=3355443200 innodb_log_file_size=25165824 innodb_file_per_table=1 sort_buffer_size=2097152 read_rnd_buffer_size=262144 bulk_insert_buffer_size=8388608 myisam_sort_buffer_size=8388608 innodb_buffer_pool_chunk_size=134217728 join_buffer_size=8388608 table_open_cache=2048 table_definition_cache=512 innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size=16777216 innodb_write_io_threads=4 innodb_read_io_threads=4 innodb_flush_method=O_DIRECT innodb_thread_concurrency=0 optimizer_search_depth=0 innodb_purge_threads=4 thread_handling=one-thread-per-connection thread_pool_size=6
Copier après la connexion

Résultats des tests

L'évaluation des performances de PrestaShop a révélé des améliorations significatives après l'optimisation.

Notamment, letemps de réponsea connu unediminutionremarquable de 610 ms à 370 ms, marquant une amélioration de39%. De même, la capacité du site Web à traiter les requêtes a augmenté de50 %, passant de 8 à 12 requêtes par seconde.

L'utilisation du processeura connu une réduction, passant de la pleine capacité à 100 % à 90 %, une10 %diminutionde la charge. Le plus impressionnant est que la capacité de traitement des requêtes de MySQL est passée de 5 078 à 7 816 requêtes par seconde, soit une augmentation substantielle de 53 %.

Nous avons enregistré un screencast pour montrer l'impact sur le temps de réponse après l'application de la configuration MySQL recommandée.

How MySQL Tuning Can Improve PrestaShop Performance

How MySQL Tuning Can Improve PrestaShop Performance

Configuration MySQL optimisée par Prestashop par rapport à la configuration par défaut

Les graphiques des résultats des tests sont disponibles ci-dessous :

How MySQL Tuning Can Improve PrestaShop Performance
Temps de réponse (ms), configuration MySQL optimisée par Prestashop par rapport aux valeurs par défaut

How MySQL Tuning Can Improve PrestaShop Performance
Utilisation du processeur (%), configuration MySQL optimisée par PrestaShop par rapport aux valeurs par défaut

How MySQL Tuning Can Improve PrestaShop Performance
Requêtes par seconde, configuration MySQL optimisée par Prestashop par rapport aux valeurs par défaut

Contributions communautaires

Dans la mise en place de notre environnement de test, nous avons collaboré étroitement avec Giuseppe Pompeo, PDG de Multiservicios Austral. L’entreprise de Giuseppe est à la pointe des services numériques au Chili, notamment connue pour son expertise en matière de commerce électronique via PrestaShop. Leur équipe, reconnue et certifiée par PrestaShop, délivre des services spécialisés et professionnels dans ce domaine depuis plus de six ans.

Penglibatan Giuseppe adalah penting dalam menyediakan pelayan kami, melancarkan tapak web kami dan mengisinya dengan data awal. Pengalaman luas beliau dengan infrastruktur awan dan tumpuan yang mendalam pada mengoptimumkan platform e-dagang seperti PrestaShop memainkan peranan penting dalam memastikan ujian kami berjalan lancar. Kami amat berterima kasih atas pengetahuan dan kecekapan yang dibawa Giuseppe ke projek kami.

Kesimpulan

Prosedur ujian kami, menggunakan PrestaShop, menunjukkan peningkatan dalamMasa Tindak Balas (Latensi),Penggunaan CPUdanPertanyaan sesaatselepas mengkonfigurasi konfigurasi pelayan pangkalan data.

Masa Respons (Latensi)menurun antara 39%, manakalaPenggunaan CPU jatuh 10%.Pertanyaan sesaatmeningkatkan PrestaShop sebanyak 53%.Permintaan sesaat ke Laman Web +50%.

Dengan penyelidikan ini, kami berharap dapat mempamerkan nilai penalaan MySQL sebagai cara untuk meningkatkan prestasi aplikasi PrestaShop dan menggalakkan pengguna PrestaShop untuk mempertimbangkan amalan ini apabila mengoptimumkan prestasi tapak web mereka.

Menggunakan alatan seperti Releem, pangkalan data boleh dikonfigurasikan dengan cepat dan mudah untuk prestasi optimum, mengurangkan beban pasukan pembangunan perisian.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!