Saat ini saya melihat bahwa untuk tabel database dengan skema yang sangat sederhana (sekitar 5 bidang), ini memasukkan catatan baru pada tingkat di bawah ~ 50 sisipan / detik, di lingkungan pengembangan lokal saya (drive SSD) - ini adalah dengan tidak ada pengamat pada model yang mengisi tabel terkait
Menggunakan SQL langsung saya melihat peningkatan yang cukup - ~ 1800 menyisipkan / detik. Kami sedang memikirkan upaya untuk mengoptimalkan kinerja model kami, tetapi tentu saja kami tidak ingin kehilangan semua stabilitas dan fleksibilitas yang bagus yang diberikan oleh inti Magento kepada kami.
Saya bertanya-tanya apakah seseorang telah menempuh rute ini sebelumnya dan apakah ada beberapa kemenangan mudah dalam hal komponen lapisan model yang dapat dilewati secara relatif aman yang akan memberikan peningkatan kinerja yang signifikan.
Hal-hal seperti:
- Resolusi nama kelas
- sebelum dan sesudah menyimpan acara
- Pengiriman acara
- Transaksi
- dll.
UPDATE: Saya berbohong, sebenarnya ada beberapa pertanyaan tambahan yang memunculkan pengamat atau afterSave (), yang saya lihat ketika saya memeriksa log kueri basis data. Benchmarking terhadap entitas yang benar-benar sederhana sebenarnya memberi saya ~ 300 baris / detik dengan model Magento - hanya overhead MySQL yang merupakan transaksi.
sumber
Jawaban:
Satu hal yang dapat mempercepat seluruh situs adalah menghapus semua referensi
Varien_Profiler
di situs produksi Anda. Bahkan jika profiler dinonaktifkan, ia selalu memeriksa apakah diaktifkan sehingga setiap panggilanVarien_Profiler::
akan menghasilkanif
pernyataan tambahan . Tentu saja, menghapus semua panggilan ini dilakukan dengan biaya tidak dapat menggunakan profiler lagi. Namun, ini dapat mempercepat seluruh situs sekitar 5% atau lebih (ini adalah pengalaman subjektif, tetapi ada banyak BANYAK panggilan keVarien_Profiler
seluruh Magento). Saya sebenarnya menulis skrip shell kecil untuk secara otomatis mengomentari panggilan ini di semua file dan saya akan menambahkan ini ke posting saya besok ketika saya sedang bekerja dan memiliki kode saya siap.Seperti yang dijanjikan sekarang, kode untuk mengomentari panggilan ini:
Ini harus dijalankan di konsol linux baik di app / maupun di lib / folder. Anda mungkin perlu menyesuaikan file /lib/Varien/Profiler.php secara manual sesudahnya. Juga perhatikan bahwa Anda harus menguji ini secara menyeluruh di lingkungan yang aman sebelum membawanya langsung - tapi saya kira ini harus jelas;)
sumber
find . -type f -exec grep -qF 'Varien_Profiler' {} \; -exec sed -i '/Varien_Profiler/d' {} \;
jika Anda lebih suka oneliner cepat.Saat menjalankan banyak penghematan pada model Magento, yang terbaik adalah menonaktifkan pengindeks Magento yang memperlambat proses:
Dan mengaktifkannya saat Anda selesai:
sumber