Kami telah mengembangkan beberapa proyek magento dengan catatan inventaris yang besar dan selalu menghadapi masalah pengindeksan, kami telah mencoba segala hal yang ditemukan di internet untuk memecahkan masalah pengindeksan sehari-hari seperti memotong tabel datar dan mengindeks ulang menggunakan CLI, mengatur cron untuk pengindeksan tapi ini adalah sakit kepala kita sehari-hari menghadapi masalah pengindeksan.
Kami mencari solusi Permanen untuk masalah ini sementara kami mengerjakan proyek ada skenario berbeda seperti memperbarui produk setiap hari atau mengimpor produk dari beberapa feed lain setiap hari.
Siapa pun yang memiliki praktik terbaik dengan ini atau beberapa solusi, silakan bagikan yang akan sangat dihargai.
Jawaban:
Penting untuk memahami indeks apa yang lambat dan mengapa
Kompleksitas katalog dan akhirnya arsitektur toko akan menentukan berapa lama pengindeksan ulang - dikombinasikan dengan infrastruktur yang mendasarinya.
Jika Anda memiliki 50.000 produk dan 10 tampilan toko, Anda dapat menjamin beberapa juta baris
catalog_url_rewrite
akan membutuhkan waktu untuk diproses.Jika Anda memiliki 100 produk, tetapi 5.000 atribut, Anda dapat menjamin
catalog_attributes
ataucatalog_product_flat
tabel akan membutuhkan waktu lama untuk dibangun kembali, atau jatuh datar di wajahnyaJika Anda memiliki 1.000 produk, tetapi 500 atribut yang dapat dicari, maka
catalog_fulltext_search
perlu waktu untuk menyelesaikannyaSolusi untuk masing-masing dan setiap masalah yang Anda hadapi tidak 1 ukuran cocok untuk semua, ini tentang merancang toko Anda dengan benar; memiliki infrastruktur yang tepat untuk mendukungnya dan menggunakan frekuensi / strategi indeks ulang yang keduanya mendukung kebaruan konten dan kinerja.
Ada juga kasus mengevaluasi apakah indeks tertentu bahkan diperlukan. Menggunakan produk / kategori flat tidak selalu membuat semua toko lebih cepat; kami telah melihatnya membuat toko jauh lebih lambat. Jadi, Anda mungkin menemukan bahwa setelah menguji kinerja sebelum / sesudah - mereka bahkan tidak menjadi pertimbangan.
sumber
tl; dr
Tidak ada solusi peluru perak. Ada beberapa solusi, saya sarankan
Sonassi_Fastsearchindex
- tapi itu khusus untuk pencarian katalog.Mungkin menonaktifkan pembaruan indeks pada save - penjadwalan untuk menjalankan semalam - akan memberikan beberapa bantuan? Dikombinasikan dengan menambahkan lebih banyak caching - memcached, Redis, APC - dan cache satu halaman penuh seperti Varnish (jika Anda menjalankan CE) dapat membantu Anda memulai. Jika Anda berencana menggunakan Varnish, lihat di
Nexcess_Turpentine
github untuk memulai lebih cepat.Informasi lebih lanjut
Masalah pengindeksan - khususnya catalog_url_rewrites - diketahui dan didokumentasikan dalam komunitas. Magento telah menangani ini dalam versi Perusahaan karena ini adalah pelanggan yang paling terpengaruh. Banyak pelanggan EE memiliki produk 10k + dan beberapa tampilan toko, situs web, dll.
Namun, jika Anda memiliki katalog besar dan sejumlah besar atribut Anda mungkin menemukan diri Anda dalam posisi bahwa pengindeksan akan memakan waktu lama - khususnya catalog_url_rewrite, product_flat - dalam hal ini saran saya adalah jangan memperbaiki waktu menjalankan indeks. panjang tetapi lebih untuk membongkar beberapa pemrosesan untuk memungkinkan kotak untuk menghabiskan siklus pengindeksan CPU daripada melayani konten .
Pertanyaan untuk diri sendiri:
Tidak ada solusi peluru perak untuk masalah khusus ini - sebagai penyedia solusi Anda harus membantu pelanggan Anda membuat keputusan yang akan meningkatkan penjualan dan bisnis terbaik sambil menjaga biaya overhead tetap rendah.
Alternatif
Pencarian katalog offload dan layered nav ke Solr.
Skala secara horizontal. Tambahkan lebih banyak server Apache / nginx. Lebih banyak server = lebih banyak throughput bersamaan. Ini bukan 1: 1. Nexcess memiliki whitepaper yang bagus untuk kinerja dan konfigurasi Apache di sini: http://www.nexcess.net/magento-best-practices-whitepaper
Dan, jika Anda memilih untuk menggunakan Varnish - ingat:
sumber
Di sebagian besar webshop Magento berat, sebagian besar sangat sulit untuk membuat Manajemen Indeks backend Magento berfungsi. Saya sering mengalami masalah ini. Menjalankan skrip shell sepanjang waktu oleh pengembang seringkali sibuk. Biasanya saya memperbaiki masalah ini secara permanen seperti ini.
Saya membuat salinan baru shell / indexer.php> shell / myindexer.php
Kustomisasi shell / myindexer.php di sekitar baris 154
Untuk
dan, tambahkan pemeriksaan ini di sekitar baris 166
sebelum
Dan kemudian saya menambahkan skrip shell baru ke cpanel cron untuk dijalankan setiap 5 menit
Seperti script shell di atas berjalan setiap 5 menit dan hanya proses pengindeksan ulang yang membutuhkan pengindeksan ulang, itu mengurangi risiko beban berat ke server cpu serta seluruh proses pengindeksan ulang sangat cepat. Jika tidak ada proses yang memerlukan pengindeksan ulang, itu tidak akan menjalankan proses pengindeksan ulang. Juga, ingatlah untuk menempatkan mode pengindeksan ulang ke "Update on Save" di halaman Manajemen Indeks. Jika Anda tidak tahu, Anda bisa mendapatkan opsi ini di Tindakan> Ubah mode indeks di sebelah tombol Kirim.
sumber
Akan lebih mudah untuk mengatakan jika Anda bisa memberikan lebih banyak data (ukuran inventaris, pengunjung, mesin), tetapi di sini ada kemungkinan:
Sonassi_Fastsearchindex
ekstensi untuk indeks pencarian katalog. Meskipun hanya mengindeks judul, deskripsi, dan sku (saya pikir saya perhatikan), ini berfungsi dengan baik dan mengurangi waktu pencarian indeks katalog.Ini berjalan pada Magento CE 1.7.0.2; masih terasa sakit;)
sumber
menggunakan Dnd_Patchindexurl, saya dapat memotong waktu indexindex_url_rewrite hampir 70%
Saya pikir ini adalah solusi yang bagus untuk mengecualikan produk yang dinonaktifkan atau produk yang tidak terlihat agar URL mereka dibuat tanpa biaya!
Setelah:
Saya menginstalnya pada 1.9.1.1 dan bekerja dengan sangat baik!
Dapat diinstal melalui Connect juga http://www.magentocommerce.com/magento-connect/catalog/product/view/id/15074/s/dn-d-patch-index-url-1364/category/12863/
sumber
Tingkatkan ke EE 1.13. Pengindeks sangat ditingkatkan dalam versi ini.
sumber