sql >> Databáze >  >> RDS >> Database

Kolik RAM potřebuje váš nový databázový server?

Jedna otázka, která se objevuje poměrně často, je, jak určit, kolik fyzické paměti RAM by mělo být na databázovém serveru se systémem SQL Server 2012. Jednou z prvních informací, které potřebujete, abyste zjistili, jakou verzi a edici SQL Server budete používat na vašem novém serveru.

Různé verze a edice 64bitového SQL Serveru mají různé licenční limity pro množství fyzické paměti RAM, které mohou používat pro různé účely, jak ukazuje Tabulka 1.

Verze Vydání Limit motoru Limit SSAS
SQL Server 2008 Standardní

Omezení OS

Omezení OS
Podnik

Omezení OS

Omezení OS
SQL Server 2008 R2 Standardní

64 GB

64 GB
Podnik

2 TB

2 TB
Datové centrum

Omezení OS

Omezení OS
SQL Server 2012 Standardní

64 GB

64 GB
Business Intelligence

64 GB

Omezení OS
Podnik

Omezení OS

Omezení OS

Tabulka 1:Omezení RAM serveru SQL Server podle verze a edice

Jak můžete vidět z tabulky 1, SQL Server 2008 mohl využívat až limit operačního systému pro fyzickou paměť RAM pro edice Standard i Enterprise Edition. Když Microsoft vydal SQL Server 2008 R2, měl špatný nápad (podle mého názoru) zavést nižší limity fyzické paměti RAM pro edice Standard i Enterprise Edition. Představili také novou edici Data Center Edition serveru SQL Server 2008 R2, která měla jako licenční limit pro fyzickou paměť RAM starý známý limit operačního systému.

Omezení paměti SQL Server 2012

Když společnost Microsoft vydala SQL Server 2012, moudře se zbavila SKU Data Center Edition, ale ponechala stejný uměle nízký limit 64 GB RAM pro Standard Edition. Dlouze jsem psal o tom, proč je to špatný nápad, takže zde tyto argumenty nebudu znovu rekapitulovat. Postačí říci, že je trochu směšné být omezen na používání méně než 800,00 $ DDR3 ECC RAM (64 GB krát 12 $/GB) v novém dvousocketovém serveru, který může stát asi 10 až 15 000 $ za samotný server. , plus asi 29 tisíc USD za šestnáct základních licencí SQL Server 2012 Standard Edition, nemluvě o nákladech na úložiště.

Zatím nic nenasvědčuje tomu, že by Microsoft měl v úmyslu tento limit RAM pro SQL Server 2014 změnit, takže se s tím možná budeme muset i nadále vypořádat. Jedním malým pozitivním aspektem tohoto limitu RAM je to, že se vztahuje na instanci SQL Server, nikoli na server. To znamená, že byste se mohli s trochou přemýšlení a plánování rozhodnout nainstalovat dvě nebo tři instance SQL Server 2012 Standard Edition na stejný fyzický počítač, abyste využili všech prostředků paměti, procesoru a úložiště počítače, pokud chcete. vypořádat se s nadbytečným využitím zdrojů a režií správy pojmenovaných instancí. To by vám mohlo ušetřit značné množství peněz na hardwaru a licenčních nákladech na SQL Server 2012 ve srovnání se dvěma nebo třemi samostatnými servery.

Pokud se rozhodnete držet pouze jednu výchozí instanci SQL Server 2012 Standard Edition (což preferuji, pokud jsem omezen na Standard Edition), měli byste získat pouze 64 GB RAM pro databázový server? Myslím, že odpověď je důrazné ne!

Příklad konfigurace paměti SQL Server 2012 Standard Edition

Od serverové třídy je DDR3 ECC RAM tak cenově dostupná; Myslím, že rozumné minimální množství paměti RAM pro nový server se dvěma paticemi se blíží 96 GB RAM. To vám umožní nastavit nastavení maximální paměti serveru na úrovni instance na 65536 MB, což je přesně 64 GB RAM, přičemž ponecháte dostatek přebytečné paměti RAM pro operační systém a další aplikace, které mohou být spuštěny na vašem databázovém serveru.

Hlavní dodavatelé serverů mají dokumentaci a nástroje pro online konfiguraci paměti, které pomáhají zajistit, že získáte nejlepší možnou konfiguraci paměti pro požadované množství fyzické paměti. Můžete také použít nástroj jako CPU-Z ke kontrole rychlosti systémové paměti, abyste se ujistili, že běží rychlostí, kterou očekáváte.

Společnost Dell zde má například online konfigurační nástroj. Tento nástroj vám umožňuje vybrat požadovaný model serveru Dell, včetně řady procesorů, které budete používat (pokud máte na výběr) a počtu fyzických procesorů, které budou na serveru skutečně umístěny. Poté zadáte, kolik fyzické paměti RAM chcete na serveru, a zvolíte požadované možnosti spolehlivosti paměti (jako je zrcadlení paměti, úspora hodnosti atd.) a poté nástroj nabídne tři různé možné konfigurace paměti:Nominální konfigurace, Maximální výkon a vyvážená konfigurace. Tyto konfigurace ukazují typ, počet a velikost paměťových modulů, které byste měli použít, a jaké paměťové kanály a sloty byste měli osadit, abyste splnili zvolenou možnost konfigurace.

Pokud si vyberete dvoupaticový server Dell PowerEdge R720 se dvěma z nových 22nm procesorů Intel Xeon E5-2600 v2 (Ivy Bridge-EP) a vyberete 96 GB RAM bez dalších možností spolehlivosti paměti, získáte tři navrhované paměti možnosti konfigurace. Možnost Maximální výkon navrhuje dvanáct 8GB 1866MHz 1R x4 RDIMM s obsazeným slotem 0 na kanálech 1-4 a slotem 1 na kanálech 1-2 obsazeným pro každý procesor. To vám dává rychlost systémové paměti 1866 MHz, což je maximum podporované novou řadou procesorů Intel Xeon E5-2600 v2.

Mimochodem, pokud budete používat SQL Server 2012 Standard Edition, přesně ten procesor, který chcete v Dell R720, je Intel Xeon E5-2667 v2, který má osm fyzických jader se základním taktem 3,3 GHz. Model s vyšším počtem jader by narazil na limit 16 fyzických jader pro SQL Server 2012 Standard Edition.

Možnost vyvážené konfigurace navrhuje dvanáct 8GB 1600 MHz 1R x4 RDIMM s obsazeným slotem 0 na kanálech 1-4 a slotem 1 na kanálech 1-2 obsazeným pro každý procesor. To vám dává rychlost systémové paměti 1600 MHz, která spotřebuje o něco méně elektrické energie než možnost Maximální výkon.

Možnost Nominální konfigurace navrhuje dvacet čtyři, 4GB 1333 MHz 1R x8 RDIMM se všemi sloty na všech kanálech obsazených pro každý procesor. To vám dává rychlost systémové paměti 1333 MHz, přičemž všechny vaše sloty jsou osazeny docela malými 4GB RDIMM. Toto je méně než optimální volba, která je navržena tak, aby ušetřila nějaké peníze na nákladech na paměť použitím modulů DIMM s menší kapacitou a nižší rychlostí. Naneštěstí je zde jen málo skutečných peněžních úspor, za cenu toho, že se vzdáte slušného výkonu paměti a nebudete mít žádné prázdné paměťové sloty.

S procesory Intel Xeon řady E5-2600 a E5-2600 v2 získáte nejvyšší možnou šířku pásma paměti, pokud obsadíte pouze jeden nebo dva sloty na paměťový kanál. Zaplnění třetího paměťového slotu způsobí snížení rychlosti systémové paměti. Nejvyšší množství paměti, které můžete použít při maximální rychlosti systémové paměti pomocí úsporných 16GB RDIMM, je 256 GB, což by bylo šestnáct, 16GB RDIMM, které zaplnily všechny sloty na kanálech 1 a 2. Méně než 256 GB paměti nepřináší žádnou výhodu. RAM ve dvousoketovém serveru se dvěma procesory řady Xeon E5-2600 nebo E5-2600 v2.

I když je lepší pokusit se přijít s konfigurací paměti, která poskytuje nejvyšší možnou rychlost systémové paměti pro dané množství paměti RAM, podle mých zkušeností (a ve většině skutečných benchmarků aplikací, které jsem viděl) je rozdíl ve výkonu ve skutečném světě mezi různými rychlostmi systémové paměti je mnohem menší, než byste očekávali, často v rozmezí 5-10 % nebo méně. Pro použití SQL Server Enterprise Edition bych raději měl dostatek paměti RAM, aby se celá moje zátěž vešla do fondu vyrovnávacích pamětí, než abych vybíral menší množství paměti RAM, abych získal nejvyšší možnou rychlost paměti za cenu toho, že bych musel více tahat data z úložného subsystému. často. Dokonce i „pomalá“ RAM má řádově nižší latenci než jakýkoli typ úložného subsystému, včetně úložiště typu flash.

Pokud by se moje pracovní zátěž nevešla do 256 GB paměti RAM, raději bych přidal více RAM a snížil rychlost systémové paměti, než abych musel častěji přistupovat k mnohem pomalejšímu úložnému subsystému. Abychom to shrnuli, myslím si, že nejvýhodnější paměť pro SQL Server 2012 Standard Edition pro tento typ serveru je 96 GB, přičemž u SQL Server 2012 Enterprise Edition se zvýší na 256 GB (pokud vaše pracovní zatížení není větší než 256 GB).


  1. ZOBRAZIT TABULKY v MariaDB

  2. Oracle 12:Připojit se na seznam oddělený čárkami?

  3. Jak funguje funkce REGEXP_SUBSTR() v MySQL

  4. Použití uložených procedur SQL Server z Pythonu (pyodbc)