Kapasite planlamama yardım eder misin?


132

Bu kapasite planlaması ile ilgili kanonik bir sorudur

İlgili:

Kapasite planlaması ile ilgili bir sorum var. Sunucu Hatası topluluğu lütfen aşağıdakilere yardımcı olabilir:


  • Bazı kullanıcılarla başa çıkmak için ne tür bir sunucuya ihtiyacım var ?
  • Bazı özelliklere sahip bir sunucu kaç kullanıcı tarafından kullanılabilir?
  • Will Bazı sunucu yapılandırması için yeterince hızlı olmak benim kullanım durumunda ?
  • Bir sosyal paylaşım sitesi kuruyorum: ne tür bir donanıma ihtiyacım var?
  • Bazı projeler için ne kadar bant genişliğine ihtiyacım var ?
  • Ne kadar bant genişliği olacak bazı sayı kullanıcıların kullandığımız bazı uygulamada ?

Yanıtlar:


97

Sunucu Hatası topluluğu genellikle size kapasite planlamasında yardımcı olamaz - size sunabileceğimiz en iyi cevap "Kodunuzu üretimde kullanacağınıza benzer bir donanıma göre işaretleyin, tıkanıklıkları belirleyin, ardından iş yükünün ne kadarını belirlediğini belirleyin. mevcut donanım işleyebilir ve / veya hedef iş yükünüzü ele almak için ne kadar donanım beygir gücüne ihtiyacınız var " .


Kapasite planlamasında, Soru-Cevap sitesinde yeterince değerlendiremediğimiz bir takım faktörler var:

  • Özel kodunuzun / yazılımınızın gereksinimleri
  • Dış kaynaklar (veritabanları, diğer yazılımlar / siteler / sunucular)
  • İş yükünüz (en yüksek, ortalama, sıraya alma)
  • Performansın işletme değeri (maliyet / fayda analizi)
  • Kullanıcılarınızın performans beklentileri
  • Herhangi bir servis seviyesi sözleşmesi / sözleşmeden doğan yükümlülükler

Bu faktörler ve diğerleri hakkında uygun bir analiz yapmak, basit bir soru-cevap sitesinin kapsamı dışındadır: Ortamınız ve sadece ekibinizin (veya uygun şekilde ücretlendirilmiş bir danışmanın) verimli bir şekilde toplayabileceği gereksinimler hakkında detaylı bilgi gerektirir.


Bazı Kapasite Planlama Aksiyomları

  1. RAM ucuzdur
    Uygulamanızın çok miktarda RAM kullanmasını bekliyorsanız, karşılayabileceğiniz / uyabileceğiniz kadar RAM koymalısınız.
  2. Disk ucuz
    Bir sürü disk kullanmayı düşünüyorsanız, büyük diskleri almalısınız - bunların birçoğu.
    SAN / NAS depolaması daha az ucuzdur ve daha sonra pahalı yükseltmelerden kaçınmak için genellikle küçük olmaktan ziyade büyük olmalıdır.
  3. İş yükleri zamanla büyüyor
    Kaynak ihtiyaçlarınızın artacağını varsayın.
    Artışın simetrik olmayabileceğini unutmayın (CPU ve RAM diskten daha hızlı yükselebilir) ve doğrusal olmayabilir.
  4. Elektrik pahalıdır
    RAM ve diskler fiyatlarda önemli ölçüde azalmış olsa da, elektrik maliyeti istikrarlı bir şekilde artmıştır. CPU gücünden bahsetmeksizin tüm bu ekstra diskler ve RAM, elektrik faturanızı (veya sağlayıcınıza ödediğiniz faturayı) artıracaktır. Buna göre planlayın.

1
Bunu tamamen bırakmalı ve entegrasyonu parçalardan kullanmalısın!
Gilles

+1. RAM # 1 numaralı aksiyomda önerildiği gibi, büyük faydaları olan şeylerden biridir. Örneğin, daha az veri tabanı sorgusu yapmanızı sağlayan önbellekleme özelliğini daha iyi kullanma yeteneğinizi arttırır ve bu da disk ve CPU üzerindeki yükü hafifletir. Sık sık sunucuları ile hızlı bir CPU ve en az miktarda RAM sunan sağlayıcıları barındırmaktan sıkıldım.
Steve Wortham

31
Buna eklerdim: Disk kapasitesi ucuz. Disk performansı pahalılaşıyor. Özellikle 10 yıldan uzun süredir disk boyutlarında bir büyüme gördükçe, ancak fizik yasaları değişmedi. Kullandığım başparmak kuralı (bugün itibariyle; Haziran 2014) optimum performans için: SATA'da iş mili başına 75 GİB, FC'de iş mili başına 200 IOP ve SSD başına 1500 IOP. Büyük SATA diskleri, gigabayt oranları başına oldukça düşük IO sağlar.
Sobrique

2019 yılının ortalarında hiç kimse artık mil tahrikleri satın almamalıdır.
Robert Harvey

@RobertHarvey kimse artık SAS mili tahriki satın almamalıdır . Petabox ölçekli sunucular için kapasite kazanmak hala çok fazla SATA sürücüsü edinmenizi gerektirir veya çok para ödersiniz.
Mikko Rantalainen

44

Sanal Makine Sayımı planlaması

Tek bir ana bilgisayarda ne kadar VM planlamanız gerektiğini bulmak söz konusu olduğunda, gerçekten iyi bir kural yoktur. Aslında, sadece bir tane var, ve bu sadece iyi bir şey:

Sanal Makine sayıları, olmadıkları durumlar dışında genellikle RAM tarafından sınırlandırılır.

Bu çok yardımcı değil. Bu VM'ler düşük CPU uygulamaları çalıştırıyorsa, sınırlayıcınız RAM'e dayalı olacaktır. Her VM platformunun RAM aboneliğini iptal etme yeteneği vardır, bu yüzden TOTAL_RAM / Per-VM-RAM = MachineCount kadar kolay değildir, ancak bu sayı iyi bir planlama öğesidir.

Peki ya VM'leriniz düşük CPU paketiyle bağlantıya geçmenin yanı sıra bir şeyler yapıyorsa?


Sanal makine sayıları, ana makineye sunulan yedi ayrı kaynakla sınırlandırılmıştır:

  • Hiper Yönetici VMware, Xen, HyperV, KVM, her neyse. Her birinin kendine özgü etkileyici özellikleri vardır. Bazıları bellek sayfası veri tekilleştirme konusunda çok iyidir, bazıları ise çok fazla değildir. Bazıları CPU kapasitesinin abonelikten çıkmasına izin vermiyor, bazıları.
  • CPU Çekirdek Hızı Bu, bir VM'nin çalışabileceği maksimum tek-dişli performansını sınırlar. Bir 1.8 GHz CPU'nun 36 çekirdeği bir ana bilgisayarda 64.8 GHz CPU olabilir, ancak hiçbir bir iş parçacığı 1.8 GHz'den daha hızlı çalışamaz.
  • İşlemci Çekirdeği Sayımı Bu, çekirdek hızında, deneyimleyebileceğiniz maksimum CPU performansı tavanını tanımlar.
  • Sistem RAMı Yukarıda açıklandığı gibi, bu, çalıştırabileceğiniz VM sayısını sınırlar. Bazı hiper denetleyiciler, bellek sayfası veri tekilleştirmesi gibi şeylerde diğerlerinden daha iyidir, bu nedenle 100 özdeş VM kullanıyorsanız, bu tür veri tekilleştirme sistemlerinde bunlardan daha fazlasını 100 tamamen VM kullanıyor olmanıza göre daha fazla paketleyebilirsiniz.
  • Disk Boyutu Her bir OS görüntüsü belirli bir miktarda yer kaplar. Hepsini saklamak için yeterli alana ihtiyacınız var. Bu nedenle, disk boyutu, kaç tane VM barındırabileceğine bir üst sınır koyar.
  • G / Ç Bant Genişliği VM'lerin altında yatan diskin saniyede kaç G / Ç kullanabileceği konusunda maksimum değeri vardır. Çok fazla atarsanız, sistemler G / Ç işleminin tamamlanmasını beklerken hızlanacaktır. Bu, kaç tane G / Ç tüketen VM çalıştırabileceğiniz konusunda bir üst sınır koyar.
  • Ağ Bant Genişliği Ağ kullanan VM'ler için mevcut ağ bant genişliği, söz konusu ana bilgisayarda kaç tane VM çalıştırabileceğinize bir tavan koyacaktır.

Bunların hepsi gezeceğiniz şey olabilir, hepsi VM'lerinizle ne yaptığınıza bağlıdır. Hatırlanması gereken bazı şeyler:

  • Genel bir sistem diye bir şey yoktur.
  • Genel bir web sunucusu diye bir şey yoktur , çünkü uygulama kodu zar zor hareket eden iğneli CDN tarzı sunumdan video dönüştürme gibi büyük derin çatlaklara kadar uzanabilir.
  • Genel bir veritabanı sunucusu diye bir şey yoktur . Bunlar sadece oturum izleme için kullanılan minik sistemlerden çok büyük sistemlere kadar uzanabilir.

Bir ana sisteme kaç VM sığdırabileceğinizi bulmak için, sisteminizin nasıl çalıştığını ve neyin iyi çalışması gerektiğini bilmeniz gerekir. Bunu öğrendikten sonra sayım planlamasını yapabilirsiniz. Ve daha da iyisi, ana bilgisayar sistemlerinizi ne kadar hassas hale getirmeniz gerektiğine karar verin!


hepsinden önemlisi, bağlanmamış vm'lere sahip iki ayrı fiziksel sunucuda vm tabanlı sistemler kullanın. bu, tüm sistemi kaybetmeden donanım arızasına izin verir. vm'ler veri sunucuları olmadan aynı sunucular arasında geçiş yapabilir. sadece oturumlar kaybolur, sonra yeniden inşa edilir. şahsen, ben bu hizmetleri sunan bir barındırma şirketine dış kaynak kullanmak istiyorum (google veya amazon). pahalılar ama kendi işlerinizi yürütmekten çok daha az.
Random-IT

2
VM uygulamalarında en sık olarak anladığım bir şey disk G / Ç'dir. Çoğu insan disk alanını, CPU hızını ve belleği anlar. Bu disk performansını unutuyorlar.
Dan Pritts

6

Doğru soruyu sorduğunuzdan emin olun.

  • Bilgisayarlar ucuz
  • Gelecekteki ihtiyaçlar tahmin etmek çok zor
  • Önceden satın alınacakları değil, nasıl ölçekleneceğini planlayın

Neye ihtiyaç duyacağınızı bilmiyorsanız, bu size çok fazla ihtiyaç duymayacağınız anlamına gelir. Sıcak bir web siteniz varsa, muhtemelen uygulamanızın ne kadar ram, disk, io, ağ vb… olduğunu bilen bir operasyon ekibiniz de vardır. Hayal aşamasındaysanız, masaüstünüzle başlamalı ve yukarı doğru çalışmalısınız.

İşler büyüdükçe nasıl ölçekleneceğinize dair bir fikriniz olduğundan emin olun. Yük dengeleyicinin arkasına daha fazla sunucu ekleyebilir misiniz? Redis sunucusunu parçalayabilir misiniz?

Ayrıca, kendi veri merkezinize sahip olmak berbat. Bir veri merkezi (sadece bir bilgisayar olsa bile) asıl amacınızdan rahatsız edicidir. Sadece bir bilgisayar satın alamaz, açamaz ve yürüyemezsiniz. İklimlendirme, hava filtreleme, güvenilir güç, güvenilir internet, yedekler, yedek parçalar, büyümek için fiziksel oda, büyümek için güç kapasitesi, takılmayacak güç kabloları ve zillion diğer baş ağrıları gerekir.

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.