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.
L'amélioration des performances des applications grâce au réglage est mieux obtenue avec une approche globale qui aborde les domaines suivants :
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.
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 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
L'évaluation des performances de PrestaShop a révélé des améliorations significatives après l'optimisation.
Notamment, le temps de réponse a connu une diminution remarquable de 610 ms à 370 ms, marquant une amélioration de 39%. De même, la capacité du site Web à traiter les requêtes a augmenté de 50 %, passant de 8 à 12 requêtes par seconde.
L'utilisation du processeur a connu une réduction, passant de la pleine capacité à 100 % à 90 %, soit une 10 % diminution de 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.
Les graphiques des résultats des tests sont disponibles ci-dessous :
Temps de réponse (ms), configuration MySQL optimisée par Prestashop par rapport aux valeurs par défaut
Utilisation du processeur (%), configuration MySQL optimisée par PrestaShop par rapport aux valeurs par défaut
Requêtes par seconde, configuration MySQL optimisée par Prestashop par rapport aux valeurs par défaut
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.
L'implication de Giuseppe a été cruciale pour préparer notre serveur, lancer notre site Web et le remplir avec les données initiales. Sa vaste expérience de l'infrastructure cloud et sa forte concentration sur l'optimisation des plateformes de commerce électronique telles que PrestaShop ont joué un rôle important dans le bon déroulement de nos tests. Nous sommes immensément reconnaissants pour les connaissances et l’efficacité que Giuseppe a apportées à notre projet.
Notre procédure de test, utilisant PrestaShop, a montré des améliorations du Temps de réponse (latence), de l'Utilisation du processeur et des Requêtes par seconde après avoir configuré la configuration du serveur de base de données. .
LeTemps de réponse (latence) a chuté de 39 %, tandis que l'Utilisation du processeur a chuté de 10 %. Les Requêtes par seconde ont augmenté PrestaShop de 53%. Requêtes par seconde sur le site Web +50 %.
Avec cette recherche, nous espérons mettre en valeur la valeur du réglage MySQL comme moyen d'améliorer les performances des applications PrestaShop et encourager les utilisateurs de PrestaShop à considérer cette pratique lors de l'optimisation des performances de leurs sites Web.
Grâce à des outils comme Releem, les bases de données peuvent être configurées rapidement et facilement pour des performances optimales, réduisant ainsi la charge des équipes de développement logiciel.
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!