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.
Meningkatkan prestasi aplikasi dengan penalaan paling baik dicapai dengan pendekatan komprehensif yang menangani bidang berikut:
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.
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 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
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.
Graf keputusan ujian tersedia di bawah:
Masa Respons (ms), Prestashop Ditala Konfigurasi MySQL lwn Lalai
Penggunaan CPU (%), Konfigurasi MySQL Ditala PrestaShop lwn Lalai
Pertanyaan Sesaat, Prestashop Ditala Konfigurasi MySQL lwn Lalai
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.
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!