PrestaShop ist eine spezialisierte, kostenlose und Open-Source-E-Commerce-Plattform, die in PHP entwickelt wurde und darauf abzielt, Unternehmen, vom Start-up bis zum Großunternehmen, die Infrastruktur zum Starten, Verwalten und Skalieren ihrer Online-Shops bereitzustellen.
PrestaShop bietet eine große Auswahl an anpassbaren Themes und eine umfassende Suite an E-Commerce-Funktionen und unterstützt eine Vielzahl von Funktionen, wie Produktmanagement, sichere Zahlungen, Versand und Bestandsverwaltung, direkt nach dem Auspacken.
Eine Verbesserung der Anwendungsleistung durch Optimierung lässt sich am besten mit einem umfassenden Ansatz erreichen, der die folgenden Bereiche anspricht:
Viele erfahrene PrestaShop-Entwickler betrachten die Optimierung der Datenbankleistung nicht als Chance, die Leistung ihrer Apps zu verbessern, da sie wenig über diesen Bereich wissen. Sie verbringen viel Zeit damit, die Codebasis zu optimieren, aber es erreicht einen Punkt, an dem es für die investierte Zeit und Energie kein wertvolles Ergebnis mehr bringt. Unsere Forschung darüber, wie sich MySQL-Optimierung positiv auf die Leistung beliebter Open-Source-Webanwendungen auswirkt, zielt darauf ab, den Benutzern diese Tatsache aufzuzeigen.
Die zum Testen verwendete Version von PrestaShop ist 8.1.2, die speziell für die Verwendung mit PHP 8.1 optimiert ist. Detaillierte Anleitungen zur Installation dieser Version von PrestaShop finden Sie in der offiziellen Dokumentation.
Wir haben den PrestaShop mit der Standardinstallation mit Demodaten installiert, alle Demoprodukte exportiert und mehrmals als neue Produkte importiert, dann haben wir mehrere Sprachen für den E-Commerce installiert.
Unsere Testdauer betrug 2 Tage. Um diesen längeren Testzeitraum zu bewältigen, sind wir von BlazeMeter (maximale Testdauer 20 Minuten) auf Locust umgestiegen, ein Open-Source-Lasttest-Tool.
Wir haben verwendet:
GCP Compute Engine-Instanz c2-standard-4, ausgestattet mit Debian Bullseye für das Betriebssystem, Apache für den Webserver und MariaDB 10.5 in der Standardkonfiguration mit einer Datenbankgröße von 1 GB.
Abgestimmte Konfiguration für 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
Die Leistungsbewertung von PrestaShop ergab erhebliche Verbesserungen nach der Optimierung.
Bemerkenswert ist, dass die Reaktionszeit einen bemerkenswerten Rückgang von 610 ms auf 370 ms verzeichnete, was eine Verbesserung um 39 % bedeutet. Ebenso stieg die Fähigkeit der Website, Anfragen zu bearbeiten, um 50 % von 8 auf 12 Anfragen pro Sekunde.
Bei derCPU-Auslastung kam es zu einem Rückgang von der vollen Kapazität bei 100 % auf 90 %, was einem 10 % Rückgang der Auslastung entspricht. Am beeindruckendsten ist, dass die Abfrageverarbeitungskapazität von MySQL von 5.078 auf 7.816 Abfragen pro Sekunde gestiegen ist, was einer erheblichen Steigerung von 53 % entspricht.
Wir haben einen Screencast aufgezeichnet, um die Auswirkungen auf die Reaktionszeit nach Anwendung der empfohlenen MySQL-Konfiguration zu zeigen.
Grafiken der Testergebnisse finden Sie unten:
Reaktionszeiten (ms), von Prestashop abgestimmte MySQL-Konfiguration im Vergleich zur Standardkonfiguration
CPU-Auslastung (%), von PrestaShop optimierte MySQL-Konfiguration im Vergleich zur Standardkonfiguration
Abfragen pro Sekunde, von Prestashop abgestimmte MySQL-Konfiguration im Vergleich zur Standardkonfiguration
Beim Aufbau unserer Testumgebung haben wir eng mit Giuseppe Pompeo, CEO von Multiservicios Austral, zusammengearbeitet. Giuseppes Unternehmen steht an der Spitze digitaler Dienstleistungen in Chile und ist insbesondere für seine Expertise im E-Commerce durch PrestaShop bekannt. Ihr von PrestaShop anerkanntes und zertifiziertes Team bietet seit über sechs Jahren spezialisierte und professionelle Dienstleistungen in diesem Bereich an.
Giuseppes Engagement war entscheidend für die Vorbereitung unseres Servers, den Start unserer Website und die Bestückung mit ersten Daten. Seine umfassende Erfahrung mit Cloud-Infrastrukturen und sein ausgeprägter Fokus auf die Optimierung von E-Commerce-Plattformen wie PrestaShop trugen maßgeblich dazu bei, dass unsere Tests reibungslos verliefen. Wir sind unendlich dankbar für das Wissen und die Effizienz, die Giuseppe in unser Projekt eingebracht hat.
Unser Testverfahren mit PrestaShop zeigte Verbesserungen bei Reaktionszeit (Latenz), CPU-Auslastung und Abfragen pro Sekunde nach der Konfiguration der Datenbankserverkonfiguration .
Reaktionszeit (Latenz) sank um 39 %, während CPU-Auslastung um 10 % sank. Anfragen pro Sekunde steigerten PrestaShop um 53 %. Anfragen pro Sekunde an die Website +50 %.
Mit dieser Untersuchung hoffen wir, den Wert der MySQL-Optimierung als Mittel zur Verbesserung der Leistung von PrestaShop-Anwendungen aufzuzeigen und PrestaShop-Benutzer zu ermutigen, diese Vorgehensweise bei der Optimierung der Leistung ihrer Websites in Betracht zu ziehen.
Mit Tools wie Releem können Datenbanken schnell und einfach für eine optimale Leistung konfiguriert werden, wodurch die Belastung der Softwareentwicklungsteams verringert wird.
Das obige ist der detaillierte Inhalt vonWie MySQL-Tuning die Leistung von PrestaShop verbessern kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!