Neden Magento bu kadar yavaş?

12 Cevap php

Magento Genellikle çok kötü yavaş mı?

Bu onunla benim ilk deneyim ve admin panelinde sadece değişiklikleri yüklemek ve kaydetmek için yaş alır. Bu test verileri ile bir varsayılan kurulum.

Bunun üzerinde barındırılan sunucu süper hızlı olmayan diğer Magento siteleri vermektedir. Magento o kadar yavaş yapar, kullanır ve bunu düzeltmek için ne yapılabilir PHP kodu hakkında nedir?

12 Cevap

Ben sadece yüzeysel bir performans için optimize Magento dahil oldum, ama burada sistem çok yavaş neden birkaç nedeni var

  1. Magento parçaları MySQL üstüne uygulanan bir EAV veritabanı sistemi kullanmak. Bu, tek bir "şey" için sorgulama genellikle birden fazla satır sorgulama anlamındadır

  2. Bellekte dev XML ağaçları kurma ve daha sonra bilgi için bu aynı ağaçları "sorgulama" içeren sahneler (uygulama yapılandırması, sistem geneli, düzen geneli, vb) arkasında bir sürü şey var. Bu (ağaçları saklamak) hem bellek alır ve CPU (ağaçlar ayrıştırma). Bunlardan bazıları (özellikle düzen ağacı) çok büyük. Önbelleğe alma olmadıkça Ayrıca, bu ağaç from files on disk ve on each request inşa edilir.

  3. Magento sınıfları geçersiz kılmak için izin yapılandırma sistemi kullanır. Bu güçlü bir özelliktir, ancak bir model, yardımcı veya denetleyici ekstra PHP kitabı orijinal bir sınıf dosyası veya geçersiz kılma sınıf dosyaları gerekli olup olmadığını belirlemek için çalıştırmak gerekir, örneği her zaman gelir. Bu kadar ekler.

  4. Düzen sistemin yanı sıra, Magento'nın şablon sistemi özyinelemeli render bir sürü içerir. Bu kadar ekler.

Genel olarak, Magento Mühendisleri olası en esnek, özelleştirilebilir sistemi bina ile, her şeyden önce, görevli idi ve daha sonra performansı hakkında endişe.

Daha iyi performans sağlamak için yapabileceğiniz ilk şey, (-> Önbellek Yönetim Sistemi) önbelleğe alma açmak olduğunu. Bu Magento çeşitli xml ağaçları kadar bina ise gider CPU / disk engelleme bazı rahatlatmak olacaktır.

Yapmak isteyeceğiniz ikinci şey ensure your host and operations team deneyim performans ayarlama Magento sahiptir. Bunda size aracılığıyla görmek için $ 7/month planı dayanarak ediyorsanız, iyi, iyi şanslar.

Ayrıntılı önbelleğe alma Alan Storm'un tavsiyelerine, ben özellikle önbelleğe ile ilgili içine bakmak tavsiye ederim iki şey var:

- Make sure caching is in memcached, rather than on disk.

Ben magento yükler birkaç bakmak ve sistem üzerinde yük herhangi bir tür bir kez olsun, memcached başlar çok daha hızlı gerçekleştirmek için. Ve ölü kolay (en azından diğer magento şeyler yapıyor göre!) Bitti değiştirmek için

http://www.magentocommerce.com/boards/viewthread/12998/P30/ - ama hiç daha önce memcached kullanmadıkları takdirde, bu konuda bazı genel bilgiler bakarak hem de kendi değer: İyi başlangıç ​​noktası burada.

- Enable template/view caching.

Bu iyi bir yazıdır: http://inchoo.net/ecommerce/magento/magento-block-caching/

Şu anda orada çok magento siteye (google magento blok önbelleğe alma) iyi olanlar var, ama onun aşağı.

Blok önbelleğe benim iki sent eklemek için, ben, kendi blokları içinde / app / kod / yerel, çekirdek olanları uzanan ve önbellek parametrelerini tanımlayan oluşturmak xxx_Cache bunları isim ve ardından yerine bu blokları kullanmak için mizanpajı güncelleştirmek tavsiye ediyorum çekirdek olanlar. Bu şekilde, değişiklikleri kaybetme ya da magento yükseltirken sistem kırma kaçının.

If you haven't seen it yet, Magento and Rackspace teamed up to create a white paper on performance tuning Magento. It's excellent. http://www.magentocommerce.com/whitepaper

--- Edit ---

Another great resource, newly available (Oct 2011) is: http://blog.sessiondigital.com/post/5764403845/high-performance-magento

(Bu bir nedeni Alan Fırtına teşekkürler.)

Bu deneyebilirsiniz - iş garantili ama bir sürü insan yardım etmedi:

http://inchoo.net/ecommerce/magento/boost-the-speed-of-your-magento/

Yönetici arayüzü çok yavaş neden çok sigara-belirgin nedeni belki de vardır. Magento Mage_AdminNotification adında bir modül var. Bu ext devredışı bırakmayı deneyin. Ne yapar, yeni güncelleme mesajları için sorgu magentocommerce.com çünkü. Kendi sunucuları yönetici sayfa bekler yavaş çünkü dış haber ağı lag ve yükleme yavaş etkisi ise. Eğer bir güvenlik duvarı üzerinden giden sunucu bağlantısı garantiledi eğer magentocommerce.com ulaşamadığı zaman yönetici arayüzü aşımını beklemek çünkü bu, daha da sinir bozucu olabilir

Devre dışı bırakmak için: Sistem -> Yapılandırma, alt kısmına gidin ve (Gelişmiş bölümünde) Gelişmiş çarptı. Şimdi Mage_AdminNotification devre dışı bırakmak ve tasarruf edin!

LiteSpeed ​​Apache geçiş bize çok yardımcı oldu. Fooman Speedster (/ sıkıştırmak modül js ve css dosyaları birleştirmek), yükleme ve APC yükleme Düzenleme MySQL ayarları: ek olarak. Magento da kurumsal baskısının dışında en iyi performansı almak için nasıl bir beyaz kağıt gönderdi, ancak diğer sürümleri için de geçerlidir: http://www.magentocommerce.com/whitepaper/

Benim şirket (www.nbs-system.com) olarak yönetilen sunucu optimizasyonu daha fazla müdahil değilim ama sizin için birkaç ipucu olabilir. İlk olarak, Zend sunucu kod izleme özelliğini kullanarak daha yakından koduna bakabilirsiniz. Nerede ve ne zaman işler kirli almak görmek için izin verir.

Ben tamamen önbellek ilgili benlumley düşüncesini paylaşıyoruz. Sitelerin çoğu ana hatta blok önbelleğe alma imkan yok biz. Bu önbellek açıkça çağrılacak olan ve "kabul" değil. Eğer kod Henüz bu mekanizmasından parçası aldı değil Yani, bu kesinlikle denemek istediğim bir şey var. Eğer bir EE sürümü varsa, canavarın en iyi almak için tam sayfa kadar alabilirsiniz.

Bir ters proxy de bir çok yardımcı olacaktır. Bu önemli ölçüde ön sunucuların php yorumlama yığını üzerinde basınç düşürücü, statik ressources önbelleğe olacak.

Oturumları ve yazmayı unutma Bir RamDisk'e magento önbellek, bu da kesinlikle performansları başka bir seviyeye alırsınız.

Orada burada söylenecek bir çok şey hala ama zaman tükeniyor. Eğer daha fazlasına ihtiyacınız varsa, phu bana ulaşabilirsiniz [at] nbs-system.com. Siz de bir 1.4.1 CE sürüm kodlu iyi bir site, bir 2x5650 Xeon + 16 Go sunucusu üzerinde çalışan ve üstüne bir Rproxy olan herkesin düzgün sayfaları ile bir günde 50 000 uniq ziyaretçiye kadar sürebilir ki bilmek zorunda.

Philippe.

Ben sadece Magento ile yüzeysel bir deneyime sahip. Paylaşılan bir ızgara-sunucuya yüklemiş ve sayfa yükleme kasvetli ~ 5 + saniye idi. Bir şaka, benim CMS sitelerinde adanmış sunucu için optimize yükledim ve çok, çok çabuk hissettim.

Benim Dedicated hosting ~ 10 Joomla vardı! siteleri ve bir VBullitin sitesi çalışıyor.

Benim tahminim sadece hosting üzerinde ölçülebilir olacak değil edilir. Aşırı abonelik sadece gerektiği gibi Magento için yeterli kaynak çalıştırmak için izin vermez.

Magento alışveriş sepeti yavaş çalışıyor olabilir birçok nedeni vardır, ancak sorunu eleviate ve oldukça lanetlemek hızlı yapmak için çeşitli yollar vardır mazeret için. Lütfen htaccess dosyasını değiştirerek Gzip sağlayan bir başlangıç. Ayrıca fooman speedster uzantısı yükleyebilirsiniz. Ayrıca kullanılan sunucu türü mağaza hızını belirleyecektir. Daha fazla ipucu ve burada daha iyi bir açıklama http://www.interactone.com/how-to-speed-up-magento/

Veritabanı tasarımı çok iyi değil çünkü Magento çok yavaş. Kod bir karmaşa ve güncellemek ve optimize etmek için çok zordur. Böylece tüm optimizasyonları yerine kod önbelleği aracılığı ile yapılmaktadır.

Öte yandan. Bu araçlar bir sürü bir Webshop olduğunu. Yani bir esnek webshop'unu gerekiyorsa, sadece çok güçlü sunucu satın almak ve ok olacak.

Ben ilk takıldığında Ben yüklemek için 30 saniye götürüyorlardı sayfaları vardı. Benim sunucu ram veya işlemci dışarı maxed değildi, bu yüzden ne yapacağımı bilmiyordum. Bu sayfa başına yaklaşık 100 dosya yüklenirken Firebug'ın net panelinde bakarak, ve her biri bağlamak için uzun bir zaman aldı. Onlar benim sunucuda diğer alışveriş sepetlerini olmuştu gibi htaccess içinde fooman speedster ve gzip kurduktan sonra yükler kez, 3 saniye vardı.

aynı zamanda performans karşı işlevsellik aşağı gelecektir.

Ham performans nginx, php-FPM, memcached, apc ve uygun tasarlanmış sunucu kullanarak elde edilir.

Plesk ve magento performans gibi işlevleri bir magento performans bulutu tasarlarken perspektif içinde tüm altyapı alarak idare edilebilir.