Apakah Magento biasanya sangat lambat?
Ini adalah pengalaman pertama saya dengannya dan panel admin hanya perlu waktu lama untuk memuat dan menyimpan perubahan. Ini adalah instalasi default dengan data uji.
Server tempat ia dihosting menyajikan situs non-Magento lainnya dengan sangat cepat. Ada apa dengan kode PHP yang digunakan Magento yang membuatnya sangat lambat, dan apa yang bisa dilakukan untuk memperbaikinya?
php
magento
optimization
mr-euro
sumber
sumber
Jawaban:
Saya hanya terlibat dalam mengoptimalkan Magento untuk kinerja, tetapi inilah beberapa alasan mengapa sistem ini sangat lambat
Sebagian Magento menggunakan sistem basis data EAV yang diterapkan di atas MySQL. Ini berarti meminta satu "hal" tunggal sering berarti meminta beberapa baris
Ada banyak hal di balik layar (konfigurasi aplikasi, konfigurasi sistem, konfigurasi tata letak, dll.) Yang melibatkan pembuatan pohon XML raksasa dalam memori dan kemudian "meminta" pohon-pohon yang sama itu untuk mendapatkan informasi. Ini membutuhkan memori (menyimpan pohon) dan CPU (mengurai pohon). Beberapa di antaranya (terutama tata letak pohon) sangat besar. Juga, kecuali caching aktif, pohon ini dibangun dari file pada disk dan pada setiap permintaan .
Magento menggunakan sistem konfigurasinya untuk memungkinkan Anda mengganti kelas. Ini adalah fitur yang kuat, tetapi itu berarti kapan saja model, helper, atau controller instantiated, instruksi PHP tambahan perlu dijalankan untuk menentukan apakah file kelas asli atau override file kelas diperlukan. Ini bertambah.
Selain sistem tata letak, sistem template Magento melibatkan banyak rendering rekursif. Ini bertambah.
Secara umum, Insinyur Magento ditugaskan, pertama dan terutama, dengan membangun sistem yang paling fleksibel dan dapat disesuaikan, dan khawatir tentang kinerja nantinya.
Hal pertama yang dapat Anda lakukan untuk memastikan kinerja yang lebih baik adalah mengaktifkan caching (Sistem -> Manajemen Cache). Ini akan meringankan beberapa pemblokiran CPU / disk yang berlangsung saat Magento membangun berbagai pohon XML-nya.
Hal kedua yang ingin Anda lakukan adalah memastikan host dan tim operasi Anda memiliki pengalaman penyetelan kinerja Magento. Jika Anda mengandalkan rencana $ 7 / bulan untuk membantu Anda, well, semoga sukses dengan itu.
sumber
Lebih jauh ke rekomendasi Alan Storm tentang caching, ada dua hal yang saya sarankan secara khusus untuk Anda lihat terkait dengan caching:
- Pastikan cache dalam memcached, bukan pada disk.
Saya menjaga beberapa instalasi magento, dan setelah Anda mendapatkan segala jenis beban pada sistem, memcached mulai bekerja lebih cepat. Dan mati mudah untuk mengubahnya (relatif untuk melakukan hal-hal magento lainnya setidaknya!)
Titik awal yang baik ada di sini: http://www.magentocommerce.com/boards/viewthread/12998/P30/ - tetapi jika Anda belum pernah menggunakan memcached sama sekali sebelumnya, ada baiknya melihat beberapa info umum tentang hal itu juga.
- Aktifkan templat / tampilan caching.
Ini adalah artikel yang bagus: http://inchoo.net/ecommerce/magento/magento-block-caching/
Ada yang bagus di situs magento juga (caching blok google magento), tetapi saat ini sedang turun.
Untuk menambahkan dua sen ke caching blok, saya sarankan Anda membuat blok Anda sendiri di / app / code / local, memperluas yang inti dan mendefinisikan parameter cache, beri nama xxx_Cache dan kemudian perbarui tata letak Anda untuk menggunakan blok ini sebagai gantinya dari yang inti. Dengan cara ini, Anda menghindari kehilangan perubahan atau merusak sistem saat Anda meningkatkan versi magento.
sumber
Jika Anda belum melihatnya, Magento dan Rackspace bekerja sama untuk membuat buku putih tentang penyetelan kinerja Magento. Ini luar biasa. https://support.rackspace.com/whitepapers/building-secure-scalable-and-highly-available-magento-stores-powered-by-rackspace-solutions/
--- sunting ---
Sumber hebat lainnya, baru tersedia (Okt 2011) adalah: http://www.sessiondigital.com/assets/Uploads/Mag-Perf-WP-final.pdf
(Terima kasih karena Alan Storm yang satu ini.)
sumber
Mungkin juga ada alasan yang sangat tidak jelas mengapa antarmuka admin Anda sangat lambat. Magento memiliki modul bernama Mage_AdminNotification. Cobalah untuk menonaktifkan ext itu. Karena yang dilakukannya adalah permintaan magentocommerce.com untuk pesan pembaruan baru. Jika server mereka lambat, halaman admin Anda menunggu dan berlaku lambat karena jaringan lag dan memuat berita eksternal. Jika Anda telah mengamankan koneksi server keluar Anda melalui firewall, ini bisa lebih menyebalkan, karena antarmuka admin akan menunggu waktu habis ketika tidak dapat mencapai magentocommerce.com
Untuk menonaktifkannya: pergi ke System -> Configuration, gulir ke bawah dan tekan Advanced (di bagian Advanced). Sekarang nonaktifkan
Mage_AdminNotification
dan simpan!sumber
Mage_AdminNotification
.Saya hanya memiliki pengalaman dangkal dengan Magento. Saya menginstalnya di grid-server bersama dan memuat halaman suram ~ 5 + detik. Pada seekor burung, saya menginstalnya pada server khusus situs CMS yang dioptimalkan, dan rasanya sangat, sangat tajam.
Hosting khusus saya memiliki ~ 10 Joomla! situs dan situs VBullitin berjalan.
Dugaan saya adalah itu tidak akan tampil di shared hosting. Berlangganan berlebih tidak akan memungkinkan sumber daya yang cukup untuk dijalankan oleh Magento seperti yang seharusnya.
sumber
Saya lebih terlibat dalam optimalisasi server terkelola di perusahaan saya, tetapi saya mungkin punya beberapa tips untuk Anda. Pertama, Anda dapat melihat kode lebih dekat menggunakan fitur pelacakan kode server Zend. Ini akan memungkinkan Anda untuk melihat di mana dan kapan semuanya menjadi kotor.
Saya benar-benar berbagi pertimbangan Benlumley mengenai cache. Sebagian besar situs yang kami host bahkan tidak mengaktifkan caching blok. Cache ini harus secara eksplisit dipanggil dan tidak "diasumsikan". Jadi, jika kode Anda belum mengambil bagian dari mekanisme ini, itu adalah sesuatu yang pasti ingin Anda coba. Jika Anda memiliki versi EE, Anda bisa mendapatkan halaman penuh untuk mendapatkan yang terbaik dari binatang itu.
Proxy terbalik juga akan banyak membantu. Ini akan men-cache sumber daya statis, secara signifikan menurunkan tekanan pada tumpukan interpretasi php dari server depan Anda.
Jangan lupa untuk menulis sesi & cache Magento ke disk RAM. Ini juga pasti akan membawa Anda ke tingkat pertunjukan yang lain.
Masih banyak yang bisa dikatakan di sini, tetapi saya kehabisan waktu. Anda harus tahu bahwa situs yang bagus, yang dikodekan dengan baik dalam versi 1.4.1 CE, berjalan pada server 2xeon Xeon + 16 GB RAM dan memiliki Rproxy di atasnya dapat memakan waktu hingga 50.000 pengunjung unik sehari dengan halaman yang halus untuk semua orang .
sumber
Beralih dari Apache ke LiteSpeed banyak membantu kami. Selain: Mengedit pengaturan MySQL, menginstal Fooman Speedster (modul untuk mengkompresi / menggabungkan file js dan css), dan menginstal APC. Magento juga memposting kertas putih tentang cara mendapatkan kinerja terbaik dari edisi perusahaan, tetapi juga berlaku untuk versi lain: http://www.magentocommerce.com/whitepaper/
sumber
Ada banyak alasan mengapa kereta belanja Magento Anda bisa berjalan lambat tetapi tidak ada alasan untuk ada berbagai cara untuk menghilangkan masalah dan membuatnya sangat sangat cepat. Mengaktifkan Gzip dengan memodifikasi file htaccess Anda adalah sebuah permulaan. Anda juga dapat menginstal ekstensi speedster fooman. Jenis server yang digunakan juga akan menentukan kecepatan toko Anda. Lebih banyak tips dan penjelasan yang lebih baik di sini http://www.interactone.com/how-to-speed-up-magento/
sumber
Ketika saya pertama kali menginstal saya memiliki halaman yang mengambil 30 detik untuk memuat. Server saya tidak maksimal dalam ram atau prosesor, jadi saya tidak tahu harus berbuat apa. Melihat panel jaring pembakar itu memuat sekitar 100 file per halaman, dan masing-masing membutuhkan waktu lama untuk terhubung. Setelah menginstal fooman speedster dan gzip di htaccess, waktu pemuatan turun menjadi 3 detik, seperti mereka berada di kereta belanja lain di server saya.
sumber
Magento sangat lambat karena desain basis datanya tidak terlalu bagus. Kode ini berantakan dan sangat sulit untuk diperbarui dan dioptimalkan. Jadi semua optimasi dilakukan melalui cache, bukan kode.
Di samping itu. Ini adalah toko web dengan banyak alat. Jadi jika Anda memerlukan webshop yang fleksibel, beli saja server yang sangat kuat dan Anda akan baik-baik saja.
sumber
itu juga akan turun ke fungsi versus kinerja.
Kinerja mentah diperoleh dengan menggunakan nginx, php-fpm, memcached, apc, dan server yang dirancang dengan baik.
Fungsi seperti kinerja plesk dan magento dapat dikelola dengan mengambil seluruh infrastruktur dalam perspektif saat merancang awan kinerja magento.
sumber