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:
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
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:
- 45 manieren om Firebird-database te versnellen
- Nieuwe prestatiemonitoring in HQbird 2018
- Firebird Performance Optimization-service
Speciale dank aan Oleg Matveev voor de hulp bij de voorbereiding van dit artikel!