Veritabanı sunucusu: Küçük hızlı RAM veya büyük yavaş RAM?


33

Şu anda yeni veritabanı sunucularımızı tasarlıyoruz ve nasıl bir cevap alacağımı tam olarak bilemiyorum.

Bunlar bizim seçeneklerimiz: 48GB 1333MHz veya 96GB 1066MHz.

Benim düşüncem, RAM'in bir Veri Tabanı Sunucusu için bol olması gerektiği (olabildiğince çok veriye ve bazı çok büyük sorgulara sahip olmamız) olabildiğince hızlı olması gerektiğidir. Görünüşe göre 1333MHz'de 16GB çip alamıyoruz, bu nedenle yukarıdaki seçimler.

Peki, daha yavaş RAM mi yoksa daha az RAM mi almalıyız?

Fazladan bilgi:

Mevcut DIMM Yuvaları Sayısı: 6
Sunucular: Dell Blades CPU: 6 çekirdekli (Oracle lisansı nedeniyle yalnızca tek soket).


12
IMO,% 100 daha fazla RAM kapasitesi, RAM hızında% 20 daha fazla baskı yapıyor.
Joe Internet

3
Özellikle% 20 bile olmadığı için;)
TomTom

Herkese teşekkürler. Bundan da oldukça emindim ama onay istedim.
Josh Smeaton

Yanıtlar:


59

Büyük ve yavaş RAM ile gitmek isteyeceksiniz. RAM performansındaki fark, RAM performansı ile disk performansı arasındaki farka kıyasla önemsizdir.


Tabii ki, bu veritabanı büyüklüğüne bağlıdır - temel detaylar ancak yine de önemlidir.
Morg.

Evet ve Josh, eldeki senaryonun "bol miktarda ve bol miktarda veri" içerdiğini açıkça belirtti.
Skyhawk

); Bazı insanlar için, "veri bol ve bol" Zor bir neden gibi bir milyon satır görünüyor olsa bellekte her şeye sahip değil
Morg.

16

Tamam, çok çok çok basit:

Veritabanınız işletim sistemi ve diğer işletim sistemlerinde 48 GB RAM'e sığıyor mu? eğer evet, al bunu. Başka, 96 GB al

Ayrıca, xyz GB RAM'e veri tabanı sığması, indekslere, görünümlere ve her şeye uyduğu anlamına gelir.

SSD yorumları tamamen saçma, hem bant genişliği hem de erişim süresi aynı seviyede değil ve hiçbir SSD daha az RAM almayı haklı gösteremez.


5
Bu çok önemli bir bilgi. Veri tabanı sadece 5 GB ise ve daha büyük olması planlanmamışsa, daha az miktarda daha hızlı RAM ile de gidebilirsiniz.
Kibbee

13

Sadece veritabanı? Veritabanına bağlı olarak, daha büyük RAM'in daha iyi olacağını düşünüyorum. Hız farkının en iyi ihtimalle minik olduğu kanıtlandı, ancak ilave 48 gb çok büyük bir fark yaratabilir.


11

Kesinlikle büyük RAM, hız lanetlenmiş.

XX yüzyılda 90’tan itibaren RAM teknolojisi için rastgele verilere erişim 100 ns’in altında. Çağdaş bir sınır çizgisine fiziksel olarak bile sığmayacak kadar eski cipsleri kullanıyor.

Kesme kenarı 15k rpm sabit diskleri için rastgele verilere erişim milisaniye cinsinden ölçülür. 100 ns, 1 ms'den 10 000 kat daha kısadır (nano -> mikro -> milli). Mevcut RAM daha hızlıdır ve HDD'nin verilere erişebilmesi için birkaç milisaniyeye ihtiyacı vardır. RAM'im 50 000 daha hızlı ya da HDD’den yalnızca 30 000 kat daha hızlı olsaydı daha az umursamazdım.


5

Bazı noktalarda dikkatinizi çekmelisiniz:

  • Hafıza gecikmesi Hafıza hızı iki faktöre bağlıdır: veriyolu hızı ve gecikme. Genellikle daha fazla yoğunluğa sahip talaşlar daha yüksek gecikme süresi sağlar;
  • Toplam indeks verisi Tüm indeks verisini belleğe yüklemek için en kritik y. Endeks verileri, bellekte ihtiyaç duyduğunuz en kritik veridir (performansta daha yüksek ceza etkisi).
  • Disk hızı DB verilerini SSD'de saklıyor musunuz? Cevabınız evet ise, özellikle hafıza gecikmesine dikkat edin.

2

MEMORY BANDWIDTH = / = HIZ!

Muhtemelen eksik bilgi bilgilerinin en önemli parçası hafıza zamanlamaları ve CPU / FSB tipidir. CPU belleği yükleme gecikmesini birkaç döngü azaltın ve bazı hesaplamalarda koç hızını ikiye katlayın. Bazı veritabanları işletim sistemi ve teknik nedenlerden dolayı büyük miktarda ram kullanmaz, hangi veritabanı sunucusunu kullanıyorsunuz? CPU tipi? L [123] önbellek seviyesi? çalıştırılacak sorgu türleri? veritabanının boyutu?


2
-1. Olguların% 99.9'unda gerçek yanlış.
TomTom

Hangi kısmı kastediyorsun?
Silverfire

2
Bellekten daha büyük olan herhangi bir veritabanı derhal yavaşlar. cpu döngüleri, çok özel bir OLAP olayı olmadığı sürece - tanıtılan IO gecikmesine kıyasla bir şakadır. Veritabanlarının çoğu büyük miktarlarda ram kullanır - en samel veri tabanı SERVER Küçük bir veritabanı için şaka olmadığını gördüm RAM kullanımında ortalama iş istasyonundan çok daha büyük. Çok eski teknolojiyi kullanmakta ısrar etmezseniz ("os sistem limitleri"). Ne cpu hızı ne de fsb tipi fark yaratmaz - veritabanlarının belleğe ihtiyacı vardır.
TomTom

0

Yanlış donanım için çok fazla para harcamadan önce, donanım satın almadan önce bazı testler ve analizler yapardım.

  • Her şeyden önce SLA'nızı düşünün.
  • performans ve yanıt süreleri için zorlu şartlar var mı?

Seçiminiz birçok faktöre bağlı olmalıdır:

  • farklı iş yükleri ve kullanımları altında gerçekte darboğaz nedir?
  • CPU, hafıza, depolama, ağ?
  • Belki de daha fazla hafızaya harcamak, daha fazla hafızaya kaydetmek için daha önemli olabilir mi?
  • daha fazla bellekten daha hızlı CPU? daha hızlı ağ? sofware / sql üzerindeki küçük yeniden tasarım?

  • analiziniz ayrıca geliştiriciler, veritabanı ve yazılım mimarileri ve sql sorgu tasarımcıları ile de çok ilgili olabilir.

Windows kullanıyorsanız - mevcut çalışan sistemde bazı statiği görmek için kolayca perfmon çalıştırabilir ve ihtiyaçlarınız hakkında net bir fikir edinebileceğiniz için çok şanslı olabilirsiniz.


1
Ben bir geliştiriciyim ve bu karara ağırlık verilmesine yardımcı oluyorum. Gerçek bir sistem yöneticimiz yok, bu yüzden hepimiz (6 hepimiz) tartışmaya girdik. Mevcut sunucularımız 32 bit ve işlem başına bellek sınırı nedeniyle çok fazla şey yapamıyorlar. Ağımız / depomuz şu an için iyi olmalı. Depolama arka ucu bir SAN. CPU'muz asla max. Sorgularımızla ilişkilendirilen maliyetin çoğu, daha fazla RAM kullanma kabiliyetiyle giderilmesi gereken G / Ç'dir. Ayrıca RAC'ye geçiyoruz. Neye ihtiyacımız olduğuna dair net bir fikrimiz var. Bu sorgulanabilir olan minutya.
Josh Smeaton
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.