Kapan saya harus menggunakan Magento Compiler

44

Saya sering melihat orang menyebutkan mereka menggunakan fitur kompiler Magento.

Saya tidak pernah dan bertanya-tanya, case mana yang harus Anda gunakan dan berapa banyak keuntungan kinerja yang Anda miliki.

[PENOLAKAN]: Saat saya mendapat saran edit tentang ini baru-baru ini. Pertanyaan ini bukan tentang magento2 yang di-compile, bahkan tidak sedikit tentang magento2.

Flyingmana
sumber
1
Lihat tolok ukur saya dengan kompiler: byte.nl/blog/should-i-use-the-magento-compiler
Willem
1
konfigurasi apc Anda tidak ada, kami juga sekarang memiliki modul opcache dalam versi saat ini dan tidak ada versi php yang didukung yang berfungsi dengan apc lagi. Perubahan perangkat lunak, demikian juga solusi dan solusi.
Flyingmana

Jawaban:

43

[PENOLAKAN] Jawaban ini hanya dimaksudkan untuk kompiler di Magento 1, kompiler di Magento 2 memiliki tujuan / efek yang berbeda lengkap

Anda seharusnya tidak menggunakannya.

Karena PHP telah mengembangkan beberapa mekanisme untuk meningkatkan aplikasi yang berisi banyak file.

Berarti: php opCache dalam versi php saat ini memberikan peningkatan kinerja yang jauh lebih baik, jika dikonfigurasi dengan benar. Misalnya menggunakan batas yang cukup tinggi untuk file yang di-cache. Juga opCache memiliki peningkatan untuk fungsi mengakses sistem file yang bekerja pada level yang lebih dalam kemudian aoe_classpathcache dan meningkatkan kinerja lebih banyak lagi.

Pada akhirnya kami memiliki autoloading yang tidak perlu lebih dari beberapa ms tanpa kompiler. Bahkan ada kasus, di mana kompiler tidak membahayakan kinerja. Belum lagi masalah gila waktu untuk debug aplikasi menggunakan kompiler.

juga, opCache tidak hanya meningkatkan autoloading, optimasi fungsi sistem file bahkan meningkatkan template dan tata letak pemuatan file.

http://php.net/manual/en/opcache.configuration.php

Flyingmana
sumber
2
Jadi, Anda menyarankan untuk menonaktifkan kompilasi, menghapus file yang dikompilasi, dan menggunakan opCache?
perissf
1
jika Anda meringkasnya, ya
Flyingmana
3
Kompiler adalah kludge yang paling berguna dengan versi 1.4.1.1, 1.4.2.0 dan mungkin 1.5.1.0. Dimulai dengan 1.5.1.0 maju, optimasi kode mulai membuatnya kurang efektif. Di suatu tempat di sekitar 1,6 atau 1,7, seseorang melakukan pengujian A / B dan menemukan bahwa itu benar-benar dapat memperlambat sistem di bawah konfigurasi server tertentu.
Fiasco Labs
3
Dua pengaturan untuk penerjemah PHP untuk membantu dengan bazillions file yang dapat dilakukan jika Anda memiliki akses sistem atau dapat membuat penyedia hosting Anda membuat perubahan untuk Anda -> realpath_cache_size=64kdan realpath_cache_ttl=3600. 64k tampaknya menjadi tempat yang manis, orang-orang merekomendasikan lebih banyak, tetapi pengujian kinerja menunjukkan itu buang-buang memori.
Fiasco Labs
2
@FiascoLabs Apakah Anda memiliki tautan / sumber ke angka "Pengujian A / B" Anda? Akan menyenangkan untuk dilihat.
Aram Papazian
11

"Kapan saya harus menggunakan Magento Compiler"

Jika karena alasan tertentu sistem Anda tidak menginstal PHP Accelerator (tidak mungkin tetapi mungkin)

Jika Anda menjalankan versi magento yang sangat lama (Anda seharusnya tidak seharusnya)

Mengapa Anda harus menonaktifkannya?

Saya sepenuhnya setuju dengan komentar Fiasco Labs di atas. Meskipun Anda tidak memberikan nomor versi magento Anda, ini berlaku untuk semua versi magento (CE) lebih dari 1.6.1, jika Anda mengaktifkan kompiler pada sistem yang sudah memiliki akselerator php (seperti PHP-APC dll) seluruh toko Anda , dari halaman admin sampai ke pelanggan memeriksa akan terukur lebih lambat, lebih buruk lagi, banyak plugin / mod yang Anda temukan di koneksi magento tidak akan berfungsi dengan benar dengan aktif compiler.

Singkatnya, pada 2014 tidak pernah ada alasan bagus untuk mengaktifkan kompiler.

Alistair
sumber