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, 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.
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.
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.
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!