Soru Daha fazla RAM vs daha fazla sunucu


Yakın zamanda "Daha fazla RAM veya daha fazla sunucuya gitme arasında ne zaman karar vereceğinizi biliyor musunuz?" (veri madenciliği uygulamaları ölçeklendirme bağlamında).

Hiçbir fikrim yoktu, bu yüzden karar vermenin bazı yolları neler? Çok az mimarlık ve ölçekleme bilgim var (bilgisayar belleğimi ve bir sunucunun üst düzey temelleri ile ne sınırlı olduğunu anlayabiliyorum), bu konularda genel olarak daha fazla şey öğrenmeye yönelik ipuçları da çok açıktır.


9
2018-06-08 22:15


Menşei


İkisine de sahip olabilir miyim lütfen? - Dirk Eddelbuettel
Her durumda daha fazla RAM düşünebilirim ... (sunucu RAM hariç) - jcolebrand
Çoğu threat sysadmin ile olduğu gibi. Mümkünse en iyi cevap, bir dev veya üretim sistemi hakkında veri toplamak ve topladığınız verilere dayanarak bir karar vermek. - Zoredache
Sorduğunuz soru, ölçeklendirilip büyütülmeyeceğidir. - micmcg
Çoğu veri madenciliği yazılımı bir bilgisayar için tasarlanmıştır. bu nedenle daha fazla RAM. Eğer Mahout veya parallel-R kullanıyorsanız ya da ne var, daha fazla sunucu var. En iyi # sunucu / ram kombinasyonunu bulmak için deney yapmak üzere Amazon AWS sunucularını kiralarım. - Neil McGuigan


Cevaplar:


"Ne zaman karar vereceğini biliyor musun?"   RAM veya daha fazla sunucu için mi gidiyor? "   (veri madenciliği ölçeklendirme bağlamında   uygulamaları).

Cevap, bana söz konusu sunucuya ilişkin ölçümleri verdiğiniz anda, hangisinin size (ya da buna eklemeye değer olursa) söyleyeceğim. Bu tür ayarlama voodoo değil (enstrümantasyon olmadan enstrümanlar ve sunucu OS'lerini kullanmadan - o zaman evet voodoo'suz) bu bilim değildir. Uygulamayı ve sunucuyu ölçün. Özetle, izleme metrikleri kullanılarak performans darboğazının nerede olduğu belirlenir ve daha fazlası eklenir.


8
2018-06-08 23:26



Hayır, hala voodoo ama sen bir cadı doktorun! Daha fazlası için: Bir neofil bu problemi çözmek için bu cevabı nasıl kullanıyor? Bakması gereken temel metrikler nelerdir ve sayıların anlamlı olduğunu nasıl bilebilir? Anladım. - tomjedrz
Bu çeşit bana eski balon şakasını hatırlatıyor. officediversions.com/discover/modules/wfsection/... - tomjedrz
Hangi temel metriklerin cevabı hangi sisteme bağlıdır. Bu soru o kadar genel ki, temellerden (CPU, bellek, disk ve uygulama monitörleri) başka bir cevap vermesi imkânsız. Hipotetik neofilik göz önüne alındığında, bu soruna bir cevap alamıyorlar çünkü ilk önce söz konusu sunucu (lar) ın nasıl izleneceğini bilmeniz gerekiyor ve bu tamamen ayrı bir soru olacaktı. - Jim B


Sunucu / uygulama performansının iyileştirilmesinde genellikle biraz voodoo (veya en azından deneme ve hata) vardır.

Sorulan özel soru için genel kural, daha fazla yükseltilemeyene kadar hafızayı arttırmaktır. VEYA Daha fazla bellek, performansı artırıncaya kadar. Bellek nispeten ucuz olduğu için hafızayı maksimuma çıkarmak daha doğru olabilir. Ayrıca, uygulama disk ağırsa, yüksek hızlı sürücülere veya yüksek performanslı denetleyicilere yükseltmek bir fark yaratabilir.

Bununla birlikte, sorunun genel niteliği, performansı iyileştirmek için başka girişimlerde bulunulmadığını düşünmeme yol açıyor. Donanımın ucuz olduğunu kabul ediyorum, bu yüzden bir soruna daha fazla sunucu atmak bile başaracak kadar kolay. Ancak, diğer işletim sistemlerinin, özellikle işletim sisteminin ve veritabanının ayarlarının yapıldığından emin olmak isterim. Bazen veritabanına, işletim sistemine veya hatta uygulama yapılandırmasına yapılan küçük ince ayarlamalar, büyük performans iyileştirmelerine neden olabilir.

Bu sitede özel işletim sisteminiz, veritabanınız ve uygulamanız ile arama yapın ve iyi bir şekilde altını çizebilirsiniz.


5
2018-06-08 23:02





Bir işletme mimarı olarak neredeyse her gün bu konuyla ilgileniyorum. Dikey veya yatay ölçeklendirme?

İhtiyaçlarınız neler?

Daha fazla kullanıcıyı desteklemeniz gerekiyor mu? Servisin hızını artırmanız mı gerekiyor? İkisine de mi ihtiyacınız var? Yüksek kullanılabilirliğe 99.9999 mu ihtiyacınız var veya kullanıcılarınız aksama süresi alabilir mi?

Başlamak için mevcut sistemde performans ölçümlerini yakalamanız gerekir. Aktif kullanıcı sayısı, RAM ve CPU yükleri, Disk G / Ç - darboğazlarınızın nerede olduğunu öğrenin.

Sorunlara dayalı olası çözümler: Mevcut kaynakların optimizasyonu ile başlayın. Uygulamanız veritabanı tabanlıysa veritabanını sorgu ve iş parçacığı önbellekleri, dizinler vb. İle en iyi duruma getirin. Eğer diğer uygulamalarla bir sunucuyu paylaşmanız özel bir sunucuya geçmeyi araştırıyorsa. (Özel kaynakları boşaltmak için daha az aktif / kritik uygulamalar için sanallaştırmaya bakın).

Mevcut makineler tam kapasite, RAM ve CPU ağır yüklü, yüksek disk I / O - RAM eklemek için maliyet hesaplamak, daha hızlı bir disk I / O (ATA yerine RAID, SATA) geçiş yapabilir misiniz?

Yüksek kullanılabilirliğe ihtiyacınız varsa, muhtemelen donanım ve yük dengeleme eklemeniz gerekir.

Donanım yükseltmeleri eklemek veya yeni sunucular eklemek daha mı ucuz? Uzun menzilli hedeflere ve büyümeye uyan hangisi?

BT borçlarınız ne zaman para harcayacak? Şimdi paranız var mı yoksa harcamaları bir çeyrek / yıl mı değiştirmek istiyorsunuz? Para bir sorunsa, şimdi optimize edin ya da geçici yük dengeleme çözümü eklemek için diğer uygulamalardan donanım boşaltmayı keşfedin.

Çok sayıda çözümü araştırmaktan korkmayın. Satıcılar, iSCSI RAID 10 yerleşik yeni bir sunucunun maliyetin% 10'u için çalışacağı, yük dengeli, SAN depolama merkezli bir çözüm satın almanızı isteyebilir.

CPU'nuz optimizasyondan sonra hala ağır bir şekilde yüklenmişse, donanım eklemeniz / değiştirmeniz gerekir. Disk G / Ç'niz darboğazsa ve depolama teknolojisini yükseltemiyorsanız, donanımı değiştirmeniz veya ağ depolama / bağlı depolama çözümleri eklemeniz gerekir.

Performans metriklerini yakalayın. Metrikleri tekrar optimize edin, iyileştirin ve yakalayın. Belgeleme performansını artırın / azaltın, böylece ne kadar harcadığınızı ve ne kadar performans kazancıyla sonuçlandığını belgeleyen bir raporu açabilirsiniz. Bunlar, yöneticilerin mimarlara, mimarlara proje yöneticilerine ve PM'lere doğru yapıldığında üst yönetime girmesini sağlayan olası başarı öyküleridir.


5
2018-06-09 09:58





Çağrı mı yapıyorsun? Diski önbelleğe almak için RAM kullanacak mısınız? CPU ücretsiz RAM ile bağlı mı?

Eğer disk belleği yapıyorsanız ve / veya RAM'i önbellek için kullanabilirseniz, daha fazla RAM elde edin. RAM basıncıyla karşılaşmıyorsanız, o zaman başka bir şey.


2
2018-06-08 22:18





RAM ucuzdur. Bunu her zaman ilk olarak en ekonomik yere sahip olduğunuz noktaya kadar getirmelisiniz (örneğin 4GB DIMM'ler oldukça pahalıdır, bu yüzden onlarla uğraşmayacağım).

Ardından, ölçeklendirmeyi yana doğru (daha fazla sunucu) keşfedin. Ucuz tüketici donanımı ile pahalı sunucu parçalarını düşünün, ancak arızaları bekliyor ve toplam işlem kapasitenize yük devretme tahminleri oluşturun.

Temel olarak, Google yapmak.


2
2018-06-08 22:24





Hangi işletim sistemini kullanıyorsunuz, ne kadar RAM destekliyor ve ne kadar RAM'iniz var sorusu da var. Eğer bir 32-bit işletim sistemi sınırındaysanız, daha fazla RAM satın almak size iyi gelmez. Windows kullanıyorsanız, belirli SKU'lar, 32 bitlik sınırla tam olarak ilgili olmayan belirli RAM miktarlarıyla sınırlıdır.


1
2018-06-09 02:39





Bazı insanlar RAM eklemenin sihirli bir çözüm olduğunu düşünür. Sadece darboğaz ise RAM yardımcı olur.


1
2018-06-09 16:54



Bu "büyü" değil, ama nispeten ucuz ve çoğu zaman iyi bir ilk denemedir. - tomjedrz
@ tomjedrz: Olmadığı zaman haricinde iyi bir ilk girişim. Gerçekten çok basit - biz 'bilim olarak sistem yönetimini' yapıyoruz ve ona ihtiyaç duyduğunu gösteren testler ve kaynak takibi yaptıktan sonra bir sisteme RAM ekliyor muyuz, yoksa 'sistem yönetimini dini bir kült olarak yapıyoruz' ve ekliyoruz. Bir makineye RAM, çünkü dinleyicilerin bize söylediği şey, biraz yavaş olan bir sunucu için doğru dua mı? Şahsen bilimsel yaklaşımı tercih ederim. - Rob Moir


Daha fazla RAM = daha sanal makineler.

Yani daha fazla RAM = daha fazla sunucu varsayalım!


0
2018-06-09 14:55



Daha fazla sanal makine daha fazla iops gerekli, ram sadece oynamak için birçok kaynaklardan biridir. - tony roth