sql >> Database >  >> RDS >> Oracle

N+1 redundantie en serverconsolidatie

In een vorige blogpost had ik het over het ontwerpen van uw RAC-implementaties met N+1-redundantie. Dit zorgt ervoor dat het verlies van een knooppunt de resterende knooppunten niet overweldigt als één knooppunt uitvalt. Vandaag ga ik het hebben over de impact van serverconsolidatie, met name CPU-cores, en de mogelijke N+1-impact ervan.

Een van de belangrijkste systemen waar ik vandaag aan werk, is een Oracle RAC-cluster met vier knooppunten. Elke node heeft 4 cores. Ik heb een licentie voor alle 16 cores (4 cores/node * 4 nodes =16 cores in totaal) in mijn omgeving. Ik ontwierp dit systeem met N+1 redundantie. Als ik een node verlies en 4 cores verlies, ben ik nog steeds goed omdat mijn werkbelasting slechts 12 cores vereist om normale, acceptabele prestatieniveaus te behouden.

Toen dit systeem in eerste instantie werd ontworpen, waren 4-core servers gemeengoed. De huidige omgeving is anders en het wordt steeds moeilijker om 4-core servers te vinden. Ze bestaan ​​nog steeds, maar hardwareleveranciers pushen systemen met een groter aantal cores.

In een gesprek met mijn SysAdmin onlangs, wilde hij 6-core systemen bestellen om onze 3 jaar oude servers te vervangen. Nou, dat kunnen we niet zomaar doen. Mijn Oracle-licentie is voor 16 cores. Ik zou drie 6-coresystemen kunnen implementeren, maar dan zou ik in totaal 18 cores in het cluster hebben en zou ik nog 2 cores aan Oracle-licenties moeten hebben. Als ik twee 6-coresystemen zou implementeren, zou ik in totaal 12 cores hebben en 4 cores aan licenties die ongebruikt blijven.

Ook heb ik de SysAdmin geïnformeerd over ons N+1 ontwerp. De impact van de overstap naar 6-core systemen kan grote gevolgen hebben voor het N+1-ontwerp. Vergeet niet dat ik eerder zei dat onze werklast 12 cores vereist om normale operationele niveaus te behouden. Als we 6-core machines inzetten, dan voldoen twee ervan aan onze eisen en is er nog een node, de "+1", nodig om ervoor te zorgen dat we een node kunnen verliezen zonder grote gevolgen voor de prestaties. We zouden drie 6-core machines moeten inzetten om ons N+1 ontwerpdoel intact te houden. Maar dit betekent dat we ons aantal licenties moeten verhogen, zoals ik eerder al zei.

Op dat moment dacht mijn SysAdmin dat hij een goed idee had... we konden twee 8-core servers kopen. Dat zijn nog steeds 16 totale kernen en precies waarvoor we vandaag een licentie hebben. Geen verhoging licentiekosten. Maar als we een knooppunt verliezen, gaan we terug naar 8 totale kernen die in bedrijf zijn, wat minder is dan ik nodig heb. Dit brengt een heel goed punt naar voren...

Op dit moment is er geen eenvoudig antwoord. We kunnen nog steeds 4-core servers kopen, dus daar zullen we volgend jaar de huidige door vervangen. Maar er komt een dag dat 4-core servers onmogelijk te vinden zijn. Tegen die tijd moeten we een plan hebben, rekening houdend met onze N+1 ontwerpdoelen.

Kon ik onze Linux-servers maar hard partitioneren en de kernen inactief laten en nog steeds in overeenstemming zijn met onze Oracle-licentieovereenkomsten.


  1. Is er een LastIndexOf in SQL Server?

  2. CONTROLEER BEPERKING op meerdere kolommen

  3. Oplossing om geen DML-bewerking binnen een query uit te voeren?

  4. Een weergave maken in PostgreSQL