Extension Magento Manakah Yang Melambatkan Anda?
Berhenti meneka.
Kedai yang lambat sering berlaku disebabkan oleh terlalu banyak extension. Kebanyakan orang menyahaktifkannya satu demi satu untuk mencari masalah. Ini bukan debugging. Ini adalah meneka pada laman web live.
Magento 2 membolehkan anda mengukur kos sesuatu extension. Anda perlu melihat empat bidang:
- Plugins: Setiap plugin menambah satu lapisan kepada permintaan (request). Banyak plugin pada laluan pantas (fast paths) akan menghasilkan permintaan yang lambat.
- Observers: Seorang observer pada acara (event) yang biasa akan berjalan pada setiap halaman.
- Layout: Modul menyuntik (inject) blok ke dalam bekas kongsi (shared containers). Ini akan berjalan walaupun anda tidak memerlukannya.
- Queries: Satu carian tambahan bagi setiap item boleh menghasilkan beratus-ratus query tambahan pada satu halaman.
Jangan meneka. Gunakan profiler terbina dalam untuk mencari kebenaran.
Jalankan arahan ini:
bin/magento dev:profiler:enable
Muat halaman yang lambat. Cari kaedah (methods) yang dipanggil terlalu kerap. Kaedah yang dipanggil 1,400 kali adalah satu masalah.
Untuk data yang lebih baik, gunakan Blackfire, Xdebug, atau New Relic. Blackfire menunjukkan dengan tepat berapa banyak masa yang digunakan oleh namespace vendor.
Anda juga boleh mencari di mana modul disambungkan (hook in) dengan mencari fail anda:
Untuk mencari plugin:
grep -rl "<plugin" vendor/*/module-*/etc/ app/code/*/*/etc/
Untuk mencari observer:
grep -rl "<observer" vendor/*/module-*/etc/ app/code/*/*/etc/
Sebaik sahaja anda menemui suspek, gunakan kaedah saintifik:
- Ukur kelajuan halaman dengan modul yang aktif.
- Nyahaktifkan modul khusus tersebut.
- Ukur semula kelajuan halaman.
Perbezaannya adalah kos sebenar modul tersebut.
Apabila anda menemui modul yang lambat, anda mempunyai tiga pilihan:
- Tukar skop: Gunakan di.xml untuk mengehadkan plugin kepada kawasan tertentu.
- Gantikan logik: Tulis modul ringan (thin module) anda sendiri untuk menggantikan around plugin yang berat.
- Buangkannya: Jika kosnya lebih tinggi daripada nilainya, padamkannya.
Berhenti menganggap prestasi seperti cerita rakyat. Gunakan data untuk membaiki kedai anda.
Sumber: https://dev.to/iamrobindhiman/which-magento-extension-is-slowing-you-down-stop-guessing-1mj3