sql >> Database teknologi >  >> RDS >> Oracle

N+1 redundans og serverkonsolidering

I et tidligere blogindlæg talte jeg om at designe dine RAC-implementeringer med N+1 redundans. Dette sikrer, at tabet af en knude ikke overvælder de resterende knudepunkter, hvis en knude skulle svigte. I dag vil jeg diskutere virkningen af ​​serverkonsolidering, specifikt CPU-kerner, og dens potentielle N+1-påvirkninger.

Et af de vigtigste systemer, jeg arbejder på i dag, er en Oracle RAC-klynge med fire knudepunkter. Hver knude har 4 kerner. Jeg har licens til alle 16 kerner (4 kerner/node * 4 noder =16 i alt kerner) i mit miljø. Jeg designede dette system med N+1 redundans. Hvis jeg mister en node og mister 4 kerner, er jeg stadig god, fordi mine arbejdsbelastningskrav kun kræver 12 kerner for at opretholde normale, acceptable niveauer af ydeevne.

Da dette system oprindeligt blev designet, var 4-core servere almindelige. Dagens miljø er anderledes, og det bliver sværere at finde 4-core servere. De eksisterer stadig, men hardwareleverandører presser systemer med større kernetal.

I en samtale med min SysAdmin for nylig ønskede han at bestille 6-core systemer til at erstatte vores 3 år gamle servere. Jamen det kan vi ikke bare gøre. Min Oracle-licens er til 16 kerner. Jeg kunne implementere tre 6-core-systemer, men så ville jeg have i alt 18 kerner i klyngen, og jeg skulle have 2 kerner mere af Oracle-licenser. Hvis jeg implementerede to systemer med 6 kerner, ville jeg have i alt 12 kerner og have licenser til en værdi af fire kerner, der står ubrugte.

Jeg informerede også SysAdmin om vores N+1-design. Virkningen af ​​at flytte til 6-kernesystemer kan have store konsekvenser for N+1-designet. Husk, at jeg sagde tidligere, at vores arbejdsbelastningskrav kræver 12 kerner for at opretholde normale driftsniveauer. Hvis vi implementerer 6-core maskiner, så opfylder to af dem vores krav, og en anden node, "+1", ville være nødvendig for at sikre, at vi kan miste en node uden større indvirkning på ydeevnen. Vi bliver nødt til at implementere tre 6-core maskiner for at holde vores N+1 designmål intakt. Men det betyder, at vi er nødt til at øge antallet af licenser, som jeg sagde tidligere.

På dette tidspunkt troede min SysAdmin, at han havde en god idé...vi kunne købe to 8-core servere. Det er stadig 16 samlede kerner og præcis det, vi har licens til i dag. Ingen stigning i licensafgifterne. Men hvis vi mister en node, går vi ned til 8 samlede kerner i drift, hvilket er mindre end jeg har brug for. Dette bringer en meget god pointe frem...

Lige nu er der ikke noget let svar. Vi kan stadig købe 4-core servere, så det er det, vi erstatter de nuværende med næste år. Men der kommer en dag, hvor 4-core servere er umulige at finde. Vi bliver nødt til at have en plan på plads til den tid, med vores N+1 designmål for øje.

Hvis bare jeg kunne hard-partitionere vores Linux-servere og lade kerner sidde inaktive og stadig være i overensstemmelse med vores Oracle-licensaftaler.


  1. COS() Funktion i Oracle

  2. Oracle Date - Sådan tilføjer du år til dato

  3. postgresql liste og bestil tabeller efter størrelse

  4. Lagring af filer i SQL-database ved hjælp af FILESTREAM – Del 1