Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie MySQL-Tuning die Leistung von PrestaShop verbessern kann

王林
Freigeben: 2024-08-13 18:30:40
Original
1062 Leute haben es durchsucht

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.

So verbessern Sie die Anwendungsleistung

Eine Verbesserung der Anwendungsleistung durch Optimierung lässt sich am besten mit einem umfassenden Ansatz erreichen, der die folgenden Bereiche anspricht:

  • Serverressourcen – CPU, Arbeitsspeicher, Speicher
  • Softwarekonfigurationen – Linux, Nginx, PHP…
  • Datenbankverwaltungssystem (DBMS)-Konfigurationen – MySQL, PostgreSQL
  • Datenbankschema optimieren und Indizes ändern
  • Anwendungen optimieren – Code, Abfragen, Architektur …

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.

Testaufbau

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.

MySQL-Konfiguration

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
Nach dem Login kopieren

Testergebnisse

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 der

CPU-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.

How MySQL Tuning Can Improve PrestaShop Performance

How MySQL Tuning Can Improve PrestaShop Performance

Von Prestashop optimierte MySQL-Konfiguration im Vergleich zur Standardkonfiguration

Grafiken der Testergebnisse finden Sie unten:

How MySQL Tuning Can Improve PrestaShop Performance
Reaktionszeiten (ms), von Prestashop abgestimmte MySQL-Konfiguration im Vergleich zur Standardkonfiguration

How MySQL Tuning Can Improve PrestaShop Performance
CPU-Auslastung (%), von PrestaShop optimierte MySQL-Konfiguration im Vergleich zur Standardkonfiguration

How MySQL Tuning Can Improve PrestaShop Performance
Abfragen pro Sekunde, von Prestashop abgestimmte MySQL-Konfiguration im Vergleich zur Standardkonfiguration

Community-Beiträge

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.

Abschluss

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!