Deze pagina is automatisch vertaald. Lees het Engelse origineel. English

IBSurgeon-bibliotheek

Hoe u Firebird 20% sneller kunt laten werken op Windows Server 2016 in minder dan 1 minuut

Steeds meer gebruikers upgraden naar Windows Server 2016 vanaf oudere versies, en sommigen van hen hebben gemerkt dat Windows Server 2016 langzamer werkt dan eerdere versies, zelfs op dezelfde hardware met dezelfde database.

We hebben verschillende tests uitgevoerd op Windows Server 2016 en Firebird, en hebben onder andere de optie gevonden die de prestaties van Windows Server 2016 dramatisch beïnvloedt: het energiebeheerschema.

Standaard heeft Windows 2016 het energiebeheerschema «Balanced» (Gebalanceerd), dat automatisch prestaties afweegt tegen energieverbruik op geschikte hardware. Dat klinkt niet gevaarlijk, maar in werkelijkheid onderdrukt het Balanced energiebeheerschema op Windows Server 2016 de CPU-prestaties aanzienlijk en verlaagt het de algehele prestaties van de server.

Het is mogelijk om het energiebeheerschema direct te wijzigen, zonder herstart. Zie het effect van het inschakelen van het «High Performance» energiebeheerschema op de server met een Firebird-database die 70 verbindingen bedient:

Effect van het High-Performance energiebeheerschema op CPU-gebruik

Oké, dit kan gewoon CPU-gebruik zijn, maar hoe zit het met de algehele prestaties? We hebben verschillende tests uitgevoerd, vergelijkbaar met TPCC (OLTP-applicatiesimulatie), en deze cijfers verkregen:

Energiebeheerschema TPC-C Doorvoer (hoe hoger, hoe beter)
Balanced 17029
High Performance 21226

Deze test is sterk schijfgebonden, dus het verschil is slechts 20%; voor CPU-intensieve bewerkingen kan de verbetering zelfs nog groter zijn.

Daarnaast hebben we de test uitgevoerd van het herstellen (met gbak -c) van een 144Gb Firebird 2.5-database met verschillende energiebeheerschema’s:

Energiebeheerschema Hersteltijd (hoe korter, hoe beter)
Balanced 4 uur 7 minuten
High Performance 2 uur 35 minuten

De enkele «energiebesparende» optie heeft de herstelprestaties bijna verdubbeld! Waarom hebben we zo’n opmerkelijke prestatieverbetering? Het antwoord ligt in de indexen: tijdens het herstel gebruiken ze intensief de CPU om waarden te sorteren.

Bekijk de tijdstempelwaarden van het gbak-herstel (in seconden) voor de 5 grootste indexen.

Met het balanced energiebeheerschema gbak:

Code
gbak: 9529.339 1230.343 5028900 346529     activating and creating deferred index INDMF_TAG_PLC_DATA_DT_D
gbak: 10787.610 1258.270 5028909 233365     activating and creating deferred index INDMF_TAG_PLC_DATA_TAG_D
gbak: 11824.329 1036.718 5028907 216488     activating and creating deferred index INDMF_TAG_PLC_DATA_LU_D
gbak: 12571.012 746.683 5028907 265160     activating and creating deferred index INDMF_TAG_PLC_DATA_C1
gbak: 13304.334 733.321 5028908 359393     activating and creating deferred index PKMNF2_DOC_DOWNTIME

Totale tijd: 3775 seconden

Met het High-Performance energiebeheerschema

gbak: 5301.785 615.045 5028900 346529 activating and creating deferred index INDMF_TAG_PLC_DATA_DT_D

Code
gbak: 5924.667 622.882 5028909 233365     activating and creating deferred index INDMF_TAG_PLC_DATA_TAG_D
gbak: 6569.815 645.147 5028907 216488     activating and creating deferred index INDMF_TAG_PLC_DATA_LU_D
gbak: 7186.322 616.506 5028907 265160     activating and creating deferred index INDMF_TAG_PLC_DATA_C1
gbak: 7894.340 708.018 5028908 359393     activating and creating deferred index PKMNF2_DOC_DOWNTIME

Totale tijd: 2593 seconden

Samenvatting

Dus deze eenvoudige instelling in Configuratiescherm -> Hardware -> Energiebeheeropties kan de Firebird-databaseprestaties op Windows Server 2016 aanzienlijk verbeteren.

Controleer dit en schakel onmiddellijk het High-Performance energiebeheerschema in!

Meer lezen over Firebird-databaseprestaties:

Speciale dank aan Oleg Matveev voor de hulp bij de voorbereiding van dit artikel!