Kami menjalankan Magento EE 1.11 dengan memcache. 2GB per server memcahce, total 4GB. Kami memiliki sekitar 240 ribu produk.
- Ram yang tersedia: 6GB
- Cores: 16
- Thread: 32
Inilah kesepakatannya, lebih banyak produk baru ditambahkan dan perubahan pada produk terjadi setiap hari dan tentu saja setiap kali produk baru ditambahkan / dimodifikasi di bagian belakang cache menjadi tidak valid, khususnya 'Cache Halaman Penuh'.
Ketika Magentos Auto Cache Generation diaktifkan, dibutuhkan sekitar 2 hari untuk membangun cache, dengan 8 utas dialokasikan untuk crawler. Setelah 2 hari memcache melayang sekitar ~ 2GB dipisahkan antara dua ram disk.
Masalahnya adalah, ketika produk dimodifikasi setiap hari, cache menjadi tidak valid dan segera setelah 'Cache Halaman Penuh' di-refresh, cache 2GB itu kembali ke titik awal, 0, dan siklus kental cache Magentos Auto dimulai lagi. Sekarang, cache tidak hanya kembali ke 0, tetapi penggunaan CPU melonjak hingga 90% dan situs web berubah menjadi permainan menunggu 5-10 + detik dan Anda bisa saja lupa untuk mencoba meminta produk dengan 100+ variasi, jika itu tidak di-cache akan butuh beberapa menit untuk memuat pertama kali, itu konyol.
Jadi, pertanyaan saya kepada komunitas.
- Apakah ada cara bagi Magento untuk secara otomatis "memperbarui" cache jika tidak valid, tanpa membangun kembali seluruh cache dan mulai dari 0? Saya tahu kapan cache tidak valid bahwa Magento tahu sesuatu telah berubah, tetapi tidak persis di mana dalam cache (koreksi saya jika saya salah). Apakah ada modul / konfigurasi di luar sana untuk memotong membangun kembali seluruh cache?
Sebagai catatan, kami menggunakan modul Tiny Bricks LightSpeed.
Bisakah Magentos Automatic Cache Generation dikontrol waktu dengan cronjob? Katakan, untuk mulai merangkak pada jam 10 malam - 6 pagi.
Apa yang akan menjadi cara terbaik untuk mendekati situasi ini ?, Ketika Anda memahami membangun kembali cache yang dalam gigabytes setiap hari tidak dapat diterima.
Jawaban:
RAM Anda hampir tidak cukup
Anda hampir tidak memiliki RAM yang cukup untuk jumlah produk yang Anda miliki. Sebagai patokan, kami sarankan setidaknya 2-4GB RAM per core logis.
Jika Anda memetakan kemungkinan penggunaan memori Anda:
max_memory
~ 768MB = 24GBlzf
terkompresi - masih akan mengkonsumsi sekitar 6GB RAMJadi total sejauh ini adalah 70GB RAM yang berkomitmen - kami bahkan belum menyebutkan OS dll.
Perangkat keras Anda sangat tidak ditentukan . Saya sarankan membaca lebih dari server Magento ini mengatur artikel untuk sedikit merasakan tentang bagaimana untuk maju.
Memcached tidak mendukung tag cache
Jika Anda menggunakan Memcached (bukan masalah, kinerjanya sangat tinggi), maka Anda menyimpan tag cache atau tidak. Jika Anda tidak memiliki yang
slow_backend
ditentukan - maka Anda tidak menyimpan tag, yang pada dasarnya berarti cache Anda tidak dapat membedakan antara jenis cache yang berbeda - sehingga Anda tidak akan dapat membilasnya secara independen.Bacalah ini, http://www.sonassi.com/knowledge-base/magento-kb/what-is-memcache-actually-caching-in-magento/
Kami sangat menyarankan untuk beralih ke Redis. Ini memiliki kebiasaan dan memang perlu fine-tuning yang signifikan untuk toko yang lebih besar. Tetapi secara keseluruhan akan melakukan sedikit lebih baik daripada Memcached dengan manfaat nyata dari dukungan cache-tag.
404 dan FPC
FPC memiliki masalah nyata, pada kenyataannya, semua mesin caching memiliki masalah dengan 404s. Alasannya, setiap URL lama yang masih dirayapi atau ditautkan akan mendarat di halaman yang harus diulangi di seluruh
core_url_rewrite
tabel, coba dan temukan kecocokan dengan semua router dan ruang nama yang ditentukan sebelum akhirnya menyerah dan memuat 404.Kemudian caching sumber daya yang tidak memiliki nilai dan akan mengkonsumsi ruang dalam penyimpanan cache Anda. Anda mungkin akan menemukan sebagian besar penyimpanan Memcached Anda sebenarnya sedang dimakan oleh 404 konten.
Dengan katalog besar (produk 240k), Anda pasti akan mendapatkan bagian yang adil dari pergantian produk, dan dengan demikian, perubahan dalam URL dan selanjutnya, banyak 404.
FPC Tidak Valid vs Bersih
Saat ini - dan secara default - perilaku FPC adalah untuk membersihkan cache pada perubahan, bukan hanya membatalkan entri cache. Kami menulis ekstensi untuk mengubah perilaku ini agar toko EE melakukan apa yang Anda inginkan.
Berikut ini tambalan cepat untuk memberi Anda gagasan tentang bagaimana menyelesaikan masalah Anda.
Jangan jalankan crawler
Jika Anda memiliki cukup langkah kaki - kami tidak menyarankan menjalankan alat merangkak, itu menghasilkan beban yang tidak perlu. Orang / bot / perayap yang menjelajahi situs harus menjaga agar cache tetap prima.
Tetapi untuk menjawab pertanyaan Anda, jika Anda melihat file konfigurasi yang disebutkan di atas - Anda melihat jadwal cron yang telah ditentukan untuk jendela penelusuran perayapan.
Jika Anda mampu membeli konten basi
Dan akhirnya, jika Anda memiliki RAM yang cukup . Anda bisa mendapat manfaat dari peningkatan TTL konten yang disimpan di FPC - untuk menjaga data cache Anda lebih lama.
Di
<full_page_cache>
tag di Anda./app/etc/local.xml
hanya mendefinisikanMasa hidup ditentukan dalam hitungan detik. Anda perlu menemukan keseimbangan antara kesegaran konten, kinerja, dan jumlah ruang penyimpanan yang sebenarnya Anda miliki.
Mengapa Anda menggunakan ekstensi caching pihak ke-3 dengan EE
Anda membayar premi untuk FPC - yang membuat saya sedih mengatakan, itu sangat bagus. Jadi mengapa Anda menjalankan alternatif pihak ketiga di atas. Singkirkan.
Begini. Jika mobil Anda berjalan buruk - apakah Anda hanya menambahkan mesin lain di boot untuk mengimbangi; atau hanya memperbaiki mesin yang sudah ada di sana?
sumber
Kami memahami Anda dengan sangat baik! Kami menambahkan baru atau mengubah produk kami setiap hari dan memodifikasi blok statis juga. Jadi kami penuh dengan cache Magento yang tidak valid dan terus-menerus ini menuju Sistem -> Manajemen Cache. Kami benci perlunya menyegarkan jenis cache yang tidak valid secara manual.
Lalu kami memasang ekstensi Magento Optimizer baru . Modul ini mengotomatiskan proses ini. Ini menyegarkan tidak valid / semua jenis cache atau flushes penyimpanan cache Magento pada frekuensi yang ditentukan. Itu sangat melegakan bagi semua tim kami!
Satu lagi fitur hebat dari ekstensi ini adalah ia membersihkan file sesi dan laporan kesalahan yang lebih lama dari X hari. Semua orang tahu bahwa ukuran direktori var / session dan var / report dapat tumbuh menjadi gigabytes dan jumlah file-file ini dapat melebihi ratusan. Jadi sekarang untuk memperlambat kinerja situs web, kami menetapkan Magento Optimizer sekali dan lupa tentang penyegaran direktori ini secara berkala.
Magento dikenal karena menggabungkan keranjang yang ditinggalkan dengan yang saat ini ketika pelanggan mencoba untuk masuk. Dari sudut pandang pengalaman dan loyalitas pelanggan, ini sangat destruktif. Modul Magento Optimizer secara otomatis menghapus gerobak yang ditinggalkan lebih lama dari X hari. Anda juga dapat menggunakan fitur ini pada waktu penjualan dan membatasi waktu untuk gerobak yang ditinggalkan.
sumber