barındırma gereksinimleri nasıl belirlenir


23

CE ver 1.9 kullanarak 2 e-ticaret sitesi açmaya hazırlanıyoruz. Her site yaklaşık 10000 sku ile başlayacak.

Bir web sunucusundan aramamız gereken önemli şeyler neler ... veritabanı boyutu, görüntü sayısı vb. Gibi şeyler önemli mi?

Açıkçası, sayfa yükleme hızı da çok önemlidir.

Uygun bir ana bilgisayarı en iyi nasıl seçeriz?

teşekkür ederim


MageOverflow'ta hoş geldiniz suyu. Maalesef Magento hosting karmaşık bir şey ve sizi onlarla gereksinimleriniz hakkında konuşmaya davet eden birçok şirket var. Size daha fazla bilgi içermeyen bir şey önermenin yolu yok. Ve tüm bilgilerle birlikte soru yardımcı olmak için çok özeldir.
Fabian Blechschmidt

@FabianBlechschmidt - Ben bahsettiğimizden bir çoğaltılmış soru olduğunu sanmıyorum. Ve bu konuda oldukça makul bir soru. Boyutlandırma gereksinimleri hakkında oldukça ayrıntılı bir cevap yazdım (bunu daha fazla ayrıntıyla toplayacağım) ve bunun mimari boyutlandırma için gerçekten iyi bir referans sorusu olarak kullanabileceği kadar genel.
Ben Lessani - Sonassi

Siz uzmansınız, bu yüzden tekrar
açılmak

Yanıtlar:


31

Feragatname: Sonassi bir Magento sunucusudir


TL; DR - İyi bir ev sahibi neyi tam olarak ne söyleyecektir size gerekmez (ve haklı). Bunu kendin yapmamalısın.

Bir müşteri bize yaklaştığında, mevcut gerekliliklerin, en yüksek gerekliliklerin ve gelecekteki gereksinimlerin mağazaları için ne olduğunu anlamak için birkaç soru soruyoruz. O zaman bu temelde bir öneride bulunacağız.

Binlerce Magento mağazasına ev sahipliği yaptığımıza göre, belirli bir müşteri gereksinimi kümesi için tam olarak hangi altyapının gerekli olduğu konusunda oldukça sağlam bir anlayışa sahibiz; Aslında canlı yayılıyorlar.

Burada dikkat edilmesi gereken detay, size MageStack çalıştıran kendi altyapımızın gereksinimlerini kesinlikle söyleyebilsek de - bu kesinlikle başka bir yerde kurulmuş olanlarla kesinlikle aynı olmayacak - bu yüzden bunu aklınızda bulundurun.

Başkasının gereksinimlerinizi boyutlandırmasına izin verin

Mağaza ve Katalog

  1. Magento versiyonu?
  2. Katalogdaki basit ürün sayısı?
  3. Katalogdaki kategori sayısı?
  4. Katalogdaki özelliklerin sayısı?
  5. Katalogdaki özellik seti sayısı?
  6. Magento mağazası görüntüleme sayısı (Yönetici> Sistem> Mağazaları Yönet)?
  7. Günlük işlemler?
  8. Tek bir saatte yoğun işlemler?

Trafik ve Bant Genişliği

  1. Günlük benzersiz ziyaretçilerin seviyesi nedir?
  2. Bir saatlik benzersiz ziyaretçinin en yüksek zirvesi nedir?
  3. Ziyaretçi başına sayfa görüntüleme sayısı?
  4. Ziyaretçiler çoğunlukla hangi ülkeden?
  5. Gelecek 12 aylık dönemde site trafiğinin ne kadar olacağını düşünüyor musunuz?
  6. Düzenli olarak yüksek trafikli kampanyaları / haber bültenlerini (önemli düzeyde ele geçiren) işletiyor musunuz?
  7. Siteniz dijital indirmeler sunuyor mu?
  8. Güncel bant genişliği kullanımı?
  9. Bir dDOS filtreleme servisi mi istiyorsunuz?

Donanım Gereksinimleri

  1. Geçerli disk alanı kullanımı?
  2. Uzun süreli günlük depolamaya mı ihtiyacınız var (PCI-DSS uyumluluğu)?
  3. Yerinde yedek depolama gerektiriyor musunuz?
  4. Sunucuda herhangi bir uzman / alternatif yazılım çalıştırmanız gerekiyor mu?
  5. PCI uyumluluk düzenlemeleriniz donanım güvenlik duvarı kullanımını zorunlu mu?
  6. Hataya dayanıklı, yüksek oranda kullanılabilir veya yük dengeli bir çözüme mi ihtiyacınız var?

Evreleme / Geliştirme Uygulaması

  1. Evreleme / geliştirme için ayrı bir özel ortama mı ihtiyacınız var?
  2. “Canlı” ortamla eşleşecek bir “Test Live” ortamına mı ihtiyacınız var (canlılık öncesi son test için)?

Bütçe

  1. Aylık bütçeniz var mı?

Ardından bu bilgiyi kullanarak, tercih ettiğiniz barındırma sağlayıcınıza gönderin ve ne önerdiklerini görün.


Kendi gereksinimlerinizi ölçmek

Bir kural olarak, mümkün

  1. Trafik seviyelerini doğrudan CPU gereksinimlerinizle ilişkilendirin
  2. CPU ihtiyaçlarınızı doğrudan RAM gereksinimlerinizle ilişkilendirin
  3. MySQL depolama alanınızı doğrudan RAM gereksinimlerinizle ilişkilendirin

CPU Seçimi

İlk önce trafiğinizi artırarak başlayın.

  • Standart bir Magento demo mağazası, saatte GHz başına yaklaşık 230 benzersiz ürün sunabilir.
  • Yönetici kullanıcı etkinliği, geliştirme etkinliği, ürün ekleme / silme özelliğine sahip tipik bir web mağazası, bu düşüşün saatte% 100 oranında, GHz başına 115 benzersiz olduğunu görebilir.
  • Zayıf yapılı / ağır bir şablona sahip bir mağaza, bu rakamı% 100-200 oranında, GHz başına 50 benzersiz saate kadar azaltabilir.

Bu sayıları kullanarak, CPU kaynağı açısından tam olarak neye ihtiyacınız olduğunu hesaplayabilirsiniz.

Örneğin. Günde 4.025 sürekli ziyaretçiniz varsa, 28GHz toplam CPU kaynağına ihtiyacınız var (örn. 8 Cores @ 3.5GHz veya 12 Cores @ 2.3GHz)

Diğer önemli detay ise CPU'nun hızıdır.

  • Yavaş sayfa yükleme süresi ve düşük eşzamanlılık desteği (düşük saat hızlı CPU (GHz), birkaç çekirdek)
  • Hızlı sayfa yükleme süresi, ancak düşük eşzamanlılık desteği (yüksek saat hızlı CPU (GHz), birkaç çekirdek)
  • Yavaş sayfa yükleme süresi, ancak yüksek eşzamanlılık desteği (düşük saat hızlı CPU (GHz), birçok çekirdek)
  • Hızlı sayfa yükleme süresi ve yüksek eşzamanlılık desteği (yüksek saat hızlı CPU (GHz), birçok çekirdek)

RAM Seçimi

Bağımsız bir sunucu için (Magento için en iyi konfigürasyon), buradaki kural 2GB RAM / CPU Çekirdeğidir. Öyleyse 8 çekirdeğiniz varsa, en az 16 GB RAM olmalıdır.

Buna ek olarak ihtiyacınız olanı bulmak için kataloğunuzun boyutunu hesaba katmanız gerekir. Bunu yapmak kolaydır, mağaza görünüm sayınızı toplam katalog boyutuyla çarpın.

Örneğin. Senin durumunda, 1 mağaza görünümü * 10.000 ürün = 10.000

Tavsiyemiz,

<1,000    = 8GB   RAM
<50,000   = 16GB  RAM
<100,000  = 32GB  RAM
<100,000  = 32GB  RAM
<250,000  = 48GB  RAM
<500,000  = 64GB  RAM
<750,000  = 96GB  RAM
>999,999  = 128GB RAM   

İki sayının (yani, Çekirdek Çekirdeğinden: RAM oranından ve katalog gereksinimlerinden) daha yüksek, ya da ikisinin anlamlı bir karışımını almak istiyorsunuz.

HDD Seçimi

Ortalama Magento mağazası için (yani, <50k benzersiz ziyaretçi / gün), Magento mağazasına bağlı olmayan bir şeyi açıklığa kavuşturalım - SSD'ler Magento mağazasını daha hızlı yapmaz ; eşzamanlılığı geliştirmez ve TTFB'yi geliştirmez. Benzer şekilde, çizgili RAID seviyelerinin (örneğin RAID10) kullanılması da avantaj sağlamaz (diskteki neredeyse her dosya şerit boyutundan daha küçük olacağından, yalnızca tek bir disk kullanılacaktır).

Tek zaman alan tıkanıklığın depolanması, koşullu servislerde (yani bulut / VPS) gerçekleşmesidir.

Bununla birlikte, mağaza girişiminin ötesinde hızlı G / Ç işlemlerinin kesinlikle avantajları vardır. SSD'lerde dosya işlemleri (örn. Git / SVN durumu, yedekleme / geri yükleme, dizinleri kopyalama vb.) Önemli ölçüde daha hızlıdır. Geliştiricinizin hayatı büyük ölçüde daha kolay olacaktır (rutin işler daha hızlı olur).

Ayrıca, tüm disk sürücülerinin eşit yaratılmadığını unutmayın.

  • Ucuz / masaüstü sınıfı SSD'ler, geleneksel HDD'lerden daha yavaş çalışacaktır
  • Ucuz / masaüstü dereceli HDD'ler, kurumsal HDD'lerden daha yavaş çalışacaktır
  • Ucuz / masaüstü sınıfı sabit disk sürücülerinde, kurumsal disklere göre (genellikle 10 ^ 16) düşük NRE oranları (genellikle 10 ^ 14) olur

Bu yüzden bir sunucuda olmayı hak eden disk sürücülerini seçtiğinizden emin olun, yani. Intel DC S3700.

Toplama kapasitesi kolaydır, sadece iki komuta ihtiyacınız vardır,

Magento belge kökü için

cd /path/to/magento/installation 
du -hsL . \
--exclude="/var/log" \
--exclude="/var/session" \
--exclude="/var/cache" \
--exclude="/var/full_page_cache" \
--exclude="/var/report" \
--exclude="/var/tmp" \
--exclude="/includes/src/"    

MySQL DB için

SELECT 
IFNULL(B.engine,'Total') "Storage Engine", CONCAT(LPAD(REPLACE(FORMAT(B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Data Size", CONCAT(LPAD(REPLACE(FORMAT(B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Index Size", CONCAT(LPAD(REPLACE(FORMAT(B.TSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Table Size" FROM (SELECT engine,SUM(data_length) DSize,SUM(index_length) ISize,SUM(data_length+index_length) TSize 
FROM information_schema.tables 
  WHERE table_schema NOT IN ('mysql','information_schema','performance_schema') 
  AND engine IS NOT NULL 
GROUP BY engine 
WITH ROLLUP) B,(SELECT 3 pw) A 
ORDER BY TSize;

.

Kimler seçmeli?

Peki bu size kalmış. Bir öneri veremem (açık olmasına rağmen :)] - ama kesinlikle kendi fikrinizi oluşturabilirsiniz,

  1. Minimum gereksinimlerinizi karşılayacak donanıma sahiplerse
  2. Magento'da sağlam bir miras / itibarı varsa (yani, bu tür sitelere katılmak ve gerçek dünya deneyimini göstermek)
  3. Mağazanızda, barındırmalarında bir gösteri sunabilirlerse (yani, tam olarak nasıl performans gösterdiğini görebilirsiniz)
  4. Magento ile ilgili tüm sorularınızı yanıtlayabilirlerse (örneğin, geçmişte sahip olduğunuz sorularla test etmeyi deneyin ve nasıl cevapladıklarını görün).
  5. Ücretleri bütçenizle eşleşiyorsa
  6. Desteklerinin beklentilerinizle eşleştiğinden emin olun (örneğin, destekle iletişim kurmadan önce tüm özeni göstermeye istekli misiniz, yoksa sizin adınıza Magento sorunlarınızı ayıklayabilecekleri bir beklentiniz var mı)
  7. Dahil edilen işlerin kapsamının ihtiyaçlarınızı karşıladığından emin olun (örn. Tamamen yönetilen, çıplak metal vb.)
  8. Çözüm ölçeklenebilirse (yani, tek sunuculu bir platform mu - çok sunuculu bir çözüm olarak ölçeklenebilir).
  9. Çözüm, Magento mağazanız için gereken tüm yazılımı içeriyorsa (örn. ElasticSearch / Sphinx / SOLR, Redis / Memcache, Varnish vb.)

Buraya eklenecek bir şey var, iki tür ana bilgisayar alacaksınız

  • Yönetilen (örneğin, sunucunun tamamen kurulduğu ve ilgilenildiği yerlerde)
  • Yönetilmeyen (örneğin, sunucunun tamamını kurduğunuz yer)

Hangisi sizin için en uygun olanı, becerilerinizin ne olduğuna bağlıdır. Dürüst görüşüme göre, geliştiriciler sistem yöneticileri değil - sadece koşabildiğiniz için apt-get install nginx- bu sizi deneyimli bir sysadmin yapmaz. Aksi halde, Magento Connect'i kullanabilecek herhangi bir mağaza sahibi, kendilerini geliştirici olarak sınıflandırabilir!

Bir geliştirici olarak rolünüzü (ve sınırlamalarınızı) anlamak ve sunucuyu yönetme konusunda doğru deneyime sahip birisine izin vermek çok değerlidir. Herkes bir dizi paket yükleyebilir, ancak yazılım yapılandırmasını ayarlamak, istikrarlı, hatasız, güvenli ve yüksek performans sağlamak tamamen farklı bir şeydir.

Tüm DIY rotasını yalnızca bilinen test edilmiş ve kararlı yapılandırmalarla daha önce binlerce sunucu kullanan büyük miktarda Magento sunucu yapılandırma deneyimine sahip olanlara tavsiye ederim . Aksi takdirde, ne yaptıklarını bilen ve işinizi kesintisiz yapmanıza izin veren, yönetilen bir Magento sunucusuyla gidin.


Kaynaklar:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.