Daha fazla RAM ve daha fazla sunucu


9

Kısa süre önce "Daha fazla RAM veya daha fazla sunucuya gitme arasında ne zaman karar vereceğinizi biliyor musunuz?" (veri madenciliği uygulamalarının ölçeklendirilmesi bağlamında).

Hiçbir fikrim yoktu, karar vermenin bazı yolları nelerdir? Mimari ve ölçeklendirme hakkında çok az bilgim var (bilgisayar belleği ve bir sunucunun ne yaptığına dair üst düzey temel bilgilerle sınırlı), bu nedenle genel olarak bu şeyler hakkında daha fazla bilgi edinmeye yönelik ipuçları da çok hoş geldiniz.


3
İkisine birden sahip olabilir miyim lütfen?
Dirk Eddelbuettel

1
Aklıma gelen her durumda daha fazla RAM ... (sunucu RAM'de
maks. Hariç

3
Çoğu tezde olduğu gibi sysadmin. Mümkünse en iyi yanıt, bir geliştirici veya üretim sisteminde veri toplamak ve daha sonra topladığınız verilere dayanarak karar vermektir.
Zoredache

Sorduğunuz soru, ölçek büyütmek veya küçültmek.
micmcg

Çoğu veri madenciliği yazılımı bir bilgisayar için tasarlanmıştır. bu nedenle daha fazla RAM. Mahout veya paralel-R kullanıyorsanız ya da ne varsa, o zaman daha fazla sunucu. En iyi # sunucu / ram kombinasyonunu bulmak için Amazon AWS sunucularını kiralardım.
Neil McGuigan

Yanıtlar:


8

"Ne zaman daha fazla RAM veya daha fazla sunucuya geçmeye karar vereceğinizi biliyor musunuz?" (veri madenciliği uygulamalarının ölçeklendirilmesi bağlamında).

Cevap, söz konusu sunucunun metriklerini verir vermez, size hangisini (ya da eklemeye değer olursa) söyleyeceğim. Bu tür bir ayar voodoo değildir (enstrümantasyon olmadan uygulamaları ve enstrümantasyon olmadan sunucu işletim sistemlerini kullanıyorsunuz - o zaman evet bu voodoo) bilimdir. Uygulamayı ve sunucuyu ölçün. Özetle, izleme metriklerini kullanarak performans darboğazının nerede olduğunu anlayın ve daha fazlasını ekleyin.


Hayır, hala vudu, ama sen bir cadı doktorusun! Daha da önemlisi, bir neofit problemini çözmek için bu cevabı nasıl kullanır? İncelemesi gereken temel ölçümler nelerdir ve hangi sayıların anlamlı olduğunu nasıl bilebilir? Benim açımdan ...
tomjedrz

Bu tür eski balon şakasını hatırlatıyor. officediversions.com/discover/modules/wfsection/…
tomjedrz

Hangi temel metriklerin hangi sisteme bağlı olduğu cevabı. Bu soru o kadar genel ki temellerden (CPU, bellek, disk vb. Uygulama monitörleri) başka daha spesifik bir cevap vermek imkansız. Hipotetik neofit göz önüne alındığında, sadece bu soruna bir cevap alamazlar çünkü ilk olarak söz konusu sunucuları nasıl izleyeceğinizi bilmeniz gerekir - ve bu tamamen ayrı bir soru olacaktır
Jim B

5

Sunucu / uygulama performansının iyileştirilmesinde genellikle biraz vudu (veya en azından deneme yanılma) vardır.

Belirli soru için genel kural o artık artırılamaz kadar ilk hafızayı artırmak için sorulan VEYA kadar fazla bellek artık performansını artırır. Bellek nispeten ucuz olduğunda, belleği en üst düzeye çıkarmak daha basit olabilir. Ayrıca, uygulama disk ağırlıklıysa, yüksek hızlı sürücülere veya yüksek performanslı denetleyicilere yükseltme bir fark yaratabilir.

Ancak, sorunun genel yapısı beni performansı arttırmak için başka bir girişim olmadığı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şarmak için yeterince kolay. Ancak, özellikle işletim sisteminin ve veritabanının ayarlanması gibi diğer yolların da yapıldığından emin olurum. Bazen veritabanında, işletim sisteminde ve hatta uygulama yapılandırmasında küçük değişiklikler büyük performans geliştirmelerine neden olabilir.

Bu sitede özel işletim sisteminiz, veritabanınız ve uygulamanızla arama yapın ve altın kazanabilirsiniz.


5

Bir kurumsal mimar olarak bu konuyu neredeyse günlük olarak ele aldım. Dikey veya yatay ölçeklendirme?

İhtiyaçlarınız neler?

Daha fazla kullanıcıyı desteklemeniz mi gerekiyor? Hizmetin hızını artırmanız mı gerekiyor? Her ikisine de ihtiyacınız var mı? Yüksek kullanılabilirlik 99.9999'a mı ihtiyacınız var yoksa kullanıcılarınız kesinti yapabilir mi?

Başlamak için geçerli sistemdeki performans metriklerini 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ına bağlıysa, veritabanını sorgu ve iş parçacığı önbellekleri, dizinler, vb. İle optimize edin. Bir sunucuyu diğer uygulamalarla paylaşıyorsanız, özel bir sunucuya taşınmayı keşfedin. (Özel kaynakları boşaltmak için daha az etkin / kritik uygulamalar için sanallaştırmaya bakın).

mevcut makineler tam kapasitede, RAM ve CPU ağır yüklü, yüksek disk G / Ç - RAM ekleme maliyetini hesaplayın, daha hızlı bir disk G / Ç'ye (RAA, ATA yerine SATA) geçebilir 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? Hangisi uzun menzilli hedeflere ve büyümeye uyar?

BT departmanınızın para harcamak için en uygun zamanı ne zaman? Şu anda paranız var mı veya masrafları başka bir çeyrek / yıla mı kaydırmak istiyorsunuz? Fonlar bir sorunsa, şimdi optimize edin veya geçici yük dengeleme çözümü eklemek için donanımı diğer uygulamalardan kurtarmayı keşfedin.

Çok sayıda çözümü keşfetmekten korkmayın. Tedarikçiler, iSCSI RAID 10 ile yeni bir sunucunun maliyetin yüzde 10'u için çalışacağı yük dengeli SAN depolama merkezli bir çözüm satın almanızı isteyebilir.

Optimizasyondan sonra CPU'nuz hala yoğun bir şekilde yüklenmişse, donanım eklemeniz / değiştirmeniz gerekir. Disk G / Ç'niz darboğaz ise 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. Performansınızı artırın / azaltın, böylece ne kadar harcadığınızı ve ne kadar performans kazancı olduğunu belgeleyen bir rapor açabilirsiniz. Bunlar, doğru yapıldığında yöneticileri mimarlara, mimarları proje yöneticilerine ve PM'leri üst yönetime dönüştüren olası başarı hikayeleri türüdür.


2

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

Disk belleği kullanıyorsanız ve / veya önbelleğe almak için RAM'i kullanabiliyorsanız, daha fazla RAM alın. RAM basıncıyla karşılaşmıyorsanız, o zaman başka bir şeydir.


2

RAM ucuz. Her zaman ilk önce orada en ekonomik miktarda var olduğu noktaya kadar olmalıdır (örneğin 4gb DIMM'ler aşırı pahalı, bu yüzden onlarla uğraşmak olmaz).

Ardından yanlara doğru ölçeklendirmeyi keşfedin (daha fazla sunucu). Pahalı sunucu parçalarına kıyasla ucuz tüketici donanımını düşünün, ancak arızaları bekleyin ve toplam işleme kapasitenize yük devretme tahminleri oluşturun.

Temel olarak, bir Google yapın .


1

Hangi işletim sistemini kullanıyorsunuz, ne kadar RAM destekliyor ve ne kadar RAM'iniz var. 32 bit işletim sistemi sınırındaysanız, daha fazla RAM satın almak size iyi gelmeyecektir. Windows kullanıyorsanız, belirli SKU'lar 32 bit sınırıyla tam olarak ilgili olmayan belirli miktarlarda RAM ile sınırlıdır.


1

Bazı insanlar RAM eklemenin sihirli bir düzeltme olduğunu düşünüyor. Sadece darboğaz varsa RAM yardımcı olur.


"Büyü" değil, ama nispeten ucuz ve çoğu zaman iyi bir ilk denemedir.
tomjedrz

1
@ tomjedrz: Olmadığı zamanlar dışında iyi bir ilk girişim. Gerçekten çok basit - 'sistem yönetimini bir bilim olarak yapıyoruz' ve ona ihtiyaç duyduğunu gösteren testler ve kaynak izleme yaptıktan sonra bir makineye RAM ekliyor muyuz yoksa 'dini bir tarikat olarak sistem yönetimi' yapıyor muyuz? Bir makineye RAM, çünkü dini kaydırmaların bize söylediği şey, biraz yavaş olan bir sunucu için doğru dua mı? Şahsen bilimsel yaklaşımı tercih ederim.
Rob Moir

0

Daha fazla RAM = daha fazla sanal makine.

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


1
daha fazla sanal makine daha fazla iops gerekli, ram oynamak için birçok kaynak sadece biridir.
tony roth
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.