Bagaimana Penalaan MySQL Boleh Meningkatkan Prestasi PrestaShop

王林
Lepaskan: 2024-08-13 18:30:40
asal
1090 orang telah melayarinya

PrestaShop ialah platform e-dagang sumber terbuka yang khusus, percuma dan sumber terbuka yang dibangunkan dalam PHP, bertujuan untuk menyediakan perniagaan, daripada syarikat permulaan kepada perusahaan besar, dengan infrastruktur untuk melancarkan, mengurus dan meningkatkan kedai dalam talian mereka.

Menawarkan pelbagai pilihan tema yang boleh disesuaikan dan suite komprehensif ciri e-dagang, PrestaShop menyokong pelbagai fungsi, seperti pengurusan produk, pembayaran selamat, penghantaran dan pengurusan inventori, terus di luar kotak.

Cara Meningkatkan Prestasi Aplikasi

Meningkatkan prestasi aplikasi dengan penalaan paling baik dicapai dengan pendekatan komprehensif yang menangani bidang berikut:

  • Sumber Pelayan — CPU, Memori, Storan
  • Konfigurasi Perisian — Linux, Nginx, Php…
  • Konfigurasi Sistem Pengurusan Pangkalan Data (DBMS) — MySQL, PostgreSQL
  • Optimumkan skema pangkalan data dan tukar indeks
  • Optimumkan aplikasi — Kod, Pertanyaan, Seni Bina…

Ramai pembangun PrestaShop yang berpengalaman tidak melihat penalaan prestasi pangkalan data sebagai peluang untuk meningkatkan prestasi apl mereka kerana mereka mengetahui sedikit tentang domain ini. Mereka menghabiskan banyak masa untuk mengoptimumkan pangkalan kod, tetapi ia mencapai tahap di mana ia tidak lagi membawa hasil yang berharga untuk masa dan tenaga yang dilaburkan. Penyelidikan kami tentang cara penalaan MySQL memberi kesan positif kepada prestasi aplikasi web sumber terbuka yang popular bertujuan untuk mempamerkan fakta ini kepada pengguna.

Persediaan Ujian

Versi PrestaShop yang digunakan untuk ujian ialah 8.1.2, yang dioptimumkan khusus untuk digunakan dengan PHP 8.1. Panduan terperinci tentang memasang versi PrestaShop ini boleh didapati dalam dokumentasi rasmi.

Kami memasang PrestaShop dengan pemasangan lalai dengan data demo, mengeksport semua produk demo dan mengimportnya sebagai produk baharu berbilang kali, kemudian kami memasang berbilang bahasa untuk e-dagang.

Tempoh ujian kami ialah 2 hari. Untuk mengendalikan tempoh ujian yang lebih lama ini, kami bertukar daripada BlazeMeter (tempoh ujian maksimum 20 minit) kepada Locust, alat ujian beban sumber terbuka.

Kami menggunakan:
Instance Enjin Kira GCP c2-standard-4, dilengkapi dengan Debian Bullseye untuk sistem pengendalian, Apache untuk pelayan web dan MariaDB 10.5 dalam konfigurasi lalainya dengan saiz pangkalan data 1GB.

Konfigurasi MySQL

Konfigurasi Ditala untuk 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
Salin selepas log masuk

Keputusan Pengujian

Penilaian prestasi PrestaShop mendedahkan peningkatan ketara selepas pengoptimuman.

Terutamanya, masa tindak balas mengalami penurunan yang luar biasa daripada 610ms kepada 370ms, menandakan peningkatan 39%. Begitu juga, keupayaan tapak web untuk mengendalikan permintaan melonjak sebanyak 50%, daripada 8 kepada 12 permintaan sesaat.

Penggunaan CPU menyaksikan pengurangan, beralih daripada kapasiti penuh pada 100% turun kepada 90%, 10% penurunan dalam beban. Paling mengagumkan, keupayaan pemprosesan pertanyaan MySQL melonjak daripada 5078 kepada 7816 pertanyaan sesaat, peningkatan yang ketara sebanyak 53%.

Kami merakam siaran skrin untuk menunjukkan kesan pada Masa Respons selepas menggunakan konfigurasi MySQL yang disyorkan.

How MySQL Tuning Can Improve PrestaShop Performance

How MySQL Tuning Can Improve PrestaShop Performance

Prestashop Ditala Konfigurasi MySQL vs Lalai

Graf keputusan ujian tersedia di bawah:

How MySQL Tuning Can Improve PrestaShop Performance
Masa Respons (ms), Prestashop Ditala Konfigurasi MySQL lwn Lalai

How MySQL Tuning Can Improve PrestaShop Performance
Penggunaan CPU (%), Konfigurasi MySQL Ditala PrestaShop lwn Lalai

How MySQL Tuning Can Improve PrestaShop Performance
Pertanyaan Sesaat, Prestashop Ditala Konfigurasi MySQL lwn Lalai

Sumbangan Masyarakat

Dalam menyediakan persekitaran ujian kami, kami bekerjasama rapat dengan Giuseppe Pompeo, Ketua Pegawai Eksekutif Multiservicios Austral. Firma Giuseppe berada di barisan hadapan dalam perkhidmatan digital di Chile, terutamanya terkenal dengan kepakarannya dalam e-dagang melalui PrestaShop. Pasukan mereka, yang diiktiraf dan diperakui oleh PrestaShop, telah menyampaikan perkhidmatan khusus dan profesional dalam bidang ini selama lebih enam tahun.

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 sangat berterima kasih atas pengetahuan dan kecekapan Giuseppe yang dibawa ke projek kami.

Kesimpulan

Prosedur ujian kami, menggunakan PrestaShop, menunjukkan peningkatan dalam Masa Respons (Latensi), Penggunaan CPU dan Pertanyaan sesaat selepas mengkonfigurasi konfigurasi pelayan pangkalan data .

Masa Respons (Latensi) menurun antara 39%, manakala Penggunaan CPU jatuh 10%. Pertanyaan sesaat meningkatkan PrestaShop sebanyak 53%. Permintaan sesaat ke Tapak 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.

Atas ialah kandungan terperinci Bagaimana Penalaan MySQL Boleh Meningkatkan Prestasi PrestaShop. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan