Saya ingin tahu apakah ada prosedur yang disukai untuk hal berikut:
- Pembilasan cache Magento
- Mengaktifkan / Menonaktifkan Kompiler Magento
1. Pembilasan Cache Magento
Ada beberapa opsi di sini, yaitu:
- Memeriksa item baris dan mengirimkan penyegaran dari
Actions
kotak dropdown - Mengklik
Flush Magento Cache
tombol, dan - Mengklik
Flush Storage Cache
tombol
Apakah ada urutan pilihan untuk melakukan ini? Apa perbedaan antara cache Magento & cache Storage?
2. Mengaktifkan / Menonaktifkan Kompiler Magento
a) Mengaktifkan Compiler
Ketika mengaktifkan kompilator Magento, haruskah semua cache toko diaktifkan? Atau haruskah Anda hanya mengaktifkan cache setelah mengaktifkan kompiler & menjalankan proses kompilasi? Setelah Anda mengaktifkan kompiler, Anda harus menyegarkan semua cache? Dan jika demikian, apakah itu termasuk Pembilasan cache Magento & cache penyimpanan (seperti yang disebutkan di atas)
b) Menonaktifkan Kompiler
Ketika menonaktifkan kompilasi Magento, haruskah Anda menonaktifkan semua cache terlebih dahulu, dan kemudian mengaktifkannya kembali setelah dinonaktifkan?
Apakah ada perbedaan antara membiarkan cache menyala dan menonaktifkan / mengaktifkan kompiler? Apa dampak kinerja yang ditimbulkannya?
Masukan apa pun akan sangat dihargai
Jawaban:
Flush Magento Cache - Ini membersihkan cache (var / cache) dari semua item yang diketahui Magento telah dibuat.
Flush Cache Storage - Menghapus semua yang ada di var / cache, terlepas dari bagaimana file-file di sana dibuat.
Jadi, jika Anda ingin aman Anda sedang membersihkan semuanya, Anda dapat memilih " Flush Cache Storage " yang pada dasarnya akan menghapus var / cache.
Untuk kompiler, saya akan merekomendasikan flushing cache Magento setelah mengaktifkan kompilasi dan menjalankan proses kompilasi. Ini memastikan bahwa cache dibersihkan dari data yang tidak dikompilasi.
Saat menonaktifkan kompilasi, saya akan menonaktifkannya terlebih dahulu, lalu siram cache Magento sesudahnya. Ini lagi memastikan cache bersih dari semua data yang dikompilasi.
Kecuali jika Anda banyak menguji hal-hal, saya selalu merekomendasikan meninggalkan cache. Kompilasi dapat dipukul atau dilewatkan dalam hal kinerja. Saya telah melihatnya membuat segalanya lebih cepat, dan kompilasi berkali-kali terlihat membuat segalanya lebih lambat dan menyebabkan masalah dengan ekstensi pihak ke-3. Saya akan merekomendasikan mendapatkan garis dasar untuk waktu buka halaman kategori (menggunakan alat Firebug / pengembang) dengan kompilasi dimatikan, kemudian lagi dengan kompilasi aktif, dan melihat apakah ada perbedaan besar.
Anda mungkin akan lebih baik menggunakan hal-hal seperti cache opcode di PHP, caching query MySQL yang tepat, menggabungkan file css / js, menggunakan kompresi gzip, menggunakan ekstensi Cache Halaman Penuh, dan pengaturan yang tepat untuk caching browser file.
sumber
Cache Magento tidak berbeda. Dimulai dengan dasar-dasar, opsi cache dapat dilihat dengan menavigasi ke
di backend. Anda dapat melihat berbagai bidang caching yang dapat diaktifkan / dinonaktifkan, seperti konfigurasi, layout.xml, blok, halaman penuh, dan file api. Jelas yang ideal adalah mengaktifkan semua ini setelah situs aktif.
Cache juga dapat dihapus, atau dibuang, dari sini. Menekan tombol yang berlabel
“Flush Magento Cache”
akan menyiram semua file cache yang cocok dengan satu set tag bawaan bawaan yang digunakan Magento. Ini adalah cara "lebih aman" untuk menghapus cache, karena tidak menghapus semuanya. Jika Anda menggunakan jenis cache sekunder apa pun, maka mengklik“Flush Cache Storage”
akan memastikan Anda telah membersihkan cache Anda, karena menghapus SEMUA. Dua tombol lainnya yang Anda lihat di halaman admin akan menghapus javascript dan css, dan katalog gambar.Cara alternatif, dan sedikit kurang aman untuk menghapus cache adalah dengan menavigasi ke
dan menghapus semua file secara manual. Sama berlaku untuk
jika Anda memiliki cache halaman penuh diaktifkan.
Tembolok halaman penuh, tersedia pada Edisi Perusahaan, mempercepat situs Anda hingga 10 kali lipat, tetapi penting untuk mengetahui sedikit tentang itu, kalau-kalau Anda melihat ada konten dinamis yang di-cache. File yang menarik untuk dilihat adalah
Di sini Anda dapat melihat apa yang sedang di-cache oleh FPC, nama blok, nama wadah, dan masa sesi. Jika Anda merasa perlu untuk mengedit atau menghapus blok-blok ini dari cache, Anda dapat melakukannya dengan membuat modul yang bergantung pada modul PageCache, dan menempatkan modifikasi apa pun di sana.
Tag placeholder memberi tahu FPC bahwa blok itu dianggap dinamis. Ketika sebuah halaman dimuat, jika blok belum di cache nilai ID ini di tag placeholder dicari dalam cache, dan jika itu tidak ada, maka blok itu dipanggil dan dihasilkan, dan ID ditambahkan ke cache.
Fitur kompilasi Magento dapat ditemukan di bawah
Jika Anda menjalankan instalasi baru, Anda mungkin mendapatkan pesan sistem bahwa kedua
includes and includes/src/
direktori harus dibuat dapat ditulis. Ketika ini selesai, kita bisa menekan tombol 'Jalankan proses Kompilasi' dan pada dasarnya Anda sudah selesai, inti Magento menggunakan kompilasi.Ketika Magento mengkompilasi kode sumbernya, kerangka kerja melakukan beberapa hal. Yang baik dipicu melalui admin atau
shell, see shell/compiler.php
, semua kompilasi dilakukan oleh satu kelas:Mage_Compiler_Model_Process
. Dalam kelas ini Anda akan menemukan cuplikan berikut yang sebenarnya merupakan pandangan mata burung dari keseluruhan proses.Dihubungi oleh
$this->_collectFiles();
panggilan itu, Magento menyalin semua file PHP dari keduanyadan direktori lib ke
direktori. Seperti yang dapat Anda lihat dalam cuplikan di bawah ini: selama proses ini Magento secara berulang mengulangi semua file dan direktori. Path ini akhirnya digunakan sebagai nama file. Ketika proses rekursif mengenai file, ia akan memeriksa ekstensi PHP dan, ketika ditemukan, file tersebut disalin ke direktori kompiler. Jenis file lainnya tidak tersentuh.
Sebagai contoh: jalur untuk kelas Mage_Catalog_Model_Category tadinya
tetapi, dengan kompilasi diaktifkan, kini telah menjadi
Pengendali mendapatkan perawatan lain. Semua direktori pengontrol disalin ke
tetapi disimpan dalam direktori yang memiliki nama namespace terkait, pikirkan: Mage, Enterprise atau namespace Anda sendiri.
Dalam direktori namespace ini, pengontrol disimpan per modul dan struktur direktori pengontrol tidak tersentuh. Hal yang sama berlaku untuk nama file, itu hanya salinan yang tepat. Semua logika ini dapat ditemukan dalam metode berikut
$this->_copyControllers($path);
Kompilasi tingkat kedua ini mengumpulkan semua cakupan dan daftar kelasnya masing-masing dari admin. Semua cakupan ini sedang diproses dengan mengambil konten dari file kelas terkait dan menuliskannya ke dalam satu file bernama setelah lingkup yang diberikan.
Secara default Magento membuat empat file cakupan yang berbeda:
Selama proses membangun file lingkup ini, Magento secara otomatis mem-parsing semua ekstensi kelas dan antarmuka yang digunakan oleh kelas-kelas yang disediakan dalam daftar lingkup.
Dengan semua file di tempat dan dikompilasi, Magento siap untuk mengaktifkan fitur kompilasi untuk digunakan.
Terakhir namun tidak kalah penting konfigurasi yang terkait dengan kompilasi disesuaikan. File ini dapat ditemukan di
includes/config.php
dan memegang dua konstanta berikut. Setelah mengaktifkan kompilasi, baris yang terkait dengan COMPILER_INCLUDE_PATH tidak dikomando dan siap untuk ditindaklanjuti.Kode yang bertanggung jawab untuk menyesuaikan file konfigurasi dapat ditemukan dalam metode registerIncludePath dari
Mage_Compiler_Model_Process class
.Selama bootstrap file konfigurasi kompilasi disertakan dalam file
index.php file (around line 44)
. Ini membuat konstanta include_path tersedia di seluruh kerangka kerja. Collect_path adalah sesuatu yang hanya dapat Anda aktifkan secara manual untuk mendapatkan lebih banyak informasi statistik tentang penggunaan file yang Anda kompilasi. Ini seharusnya tidak diaktifkan secara langsung.Dari titik ini, Magento akan memeriksa apakah mode kompilasi diaktifkan dengan pernyataan berikut. Melalui basis kode (menggunakan 'grep'), Anda akan melihat bahwa sebagian besar logika ini dapat ditemukan dalam
lib/Varien/Autoload.php
file.Tempat lain untuk mencari adalah
Mage_Core_Controller_Varien_Action
. Di kelas ini Anda akan menemukanpreDispatch()
metode, yang dipicu untuk setiap metode tindakan pengontrol sebelum metode tersebut benar-benar dikirim. Di bagian sumber autoloader kelas Magento ini, Varien_Autoload dipanggil untuk memuat file lingkup kompilasi tertentu.Saat berjalan dalam mode kompilasi, Magento hanya memiliki satu jalur masuk,
includes/src/
direktori, sehingga setiap file ditemukan langsung pada percobaan pertama. Dengan sejumlah besar file yang dimiliki Magento, ini menghemat waktu. Cuplikan di bawahnya diambil dariKetika PHP menyertakan file, konten dikompilasi ke opcode. Ini adalah proses yang perlu dilakukan setiap kali file dimasukkan. Untuk meningkatkan kinerja toko Anda lebih jauh, Anda dapat menginstal APC di server Anda. APC cache versi file yang di-opcode, membuatnya tersedia untuk permintaan selanjutnya. Jadi atas permintaan berikutnya: file akan dibaca dari cache APC, bukannya harus melalui proses yang sama lagi dan menguras kinerja Anda.
sumber
PENYUSUN
Semua file kompiler dapat ditemukan di
includes/
Jangan dihapus.htaccess
atauconfig.php
. Jika Anda melihatconfig.php
Anda akan melihat semua yang mengaktifkan / menonaktifkan kompiler yang dilakukan adalah menghapus komentar#
sebelum keduanyadefine
. Aman untuk mengasumsikan simpelrm -Rf includes/src;rm -Rf includes/stat
dari root Magento akan menghapus data yang dikompilasi.Juga pertimbangkan untuk menggunakan AOE_ClassPathCache bersama dengan APC, karena ini akan cukup jauh untuk menghapus kompiler dari persamaan.
Juga untuk diskusi lebih lanjut tentang topik:
CACHES
Ini murni ditentukan pada apa backend caching yang Anda gunakan melalui
local.xml
. Jika Anda menggunakanfiles
penangan cache default , maka menghapusvar/cache
dan jika Enterprisevar/full_page_cache
. Jika Anda menggunakan datastore seperti Memcache, Anda harus melakukan ini melalui MagentoFlush Cache Storage
atau melalui sarana cache datastore untuk menghapus / menghapus cache.Juga detail lebih lanjut tentang kemungkinan penyimpanan data, Magento menggunakan Zend_Cache untuk mekanisme Caching-nya. Yang akan Anda perhatikan terkait dengan
local.xml
cache Xpath.CATATAN
Jika Anda menjalankan Enterprise, Anda akan menemukan file konfigurasi kedua
etc/enterprise.xml
adalah tempat datastore untuk FPC ditentukan.Apa perbedaan antara Flush Cache, dan Flush Cache Storage:
sumber
Catatan yang sangat penting tentang Magento Compiler. Anda perlu mematikan hal-hal seperti APC ketika melakukan kompilasi karena kompiler tidak dapat mengkompilasi apa yang ada di APC dan akan merusak kompilasi Anda. Bagi saya itu berarti membongkar APC di server dan kemudian restart Apache (httpd).
sumber