Come far funzionare Firebird il 20% più veloce su Windows Server 2016 in meno di 1 minuto
Sempre più utenti eseguono l’aggiornamento a Windows Server 2016 da versioni precedenti, e alcuni di loro hanno notato che Windows Server 2016 funziona più lentamente rispetto alle versioni precedenti, anche sullo stesso hardware con lo stesso database.
Abbiamo effettuato diversi test su Windows Server 2016 e Firebird e abbiamo scoperto, tra le altre cose, l’opzione che influenza drasticamente le prestazioni di Windows Server 2016: il piano di alimentazione.
Per impostazione predefinita, Windows 2016 ha il piano di alimentazione «Bilanciato», che bilancia automaticamente le prestazioni con il consumo energetico su hardware capace. Beh, non sembra pericoloso, ma in realtà il piano di alimentazione Bilanciato su Windows Server 2016 sopprime notevolmente le prestazioni della CPU e riduce le prestazioni complessive del server.
È possibile cambiare il piano di alimentazione al volo, senza bisogno di riavviare. Guarda l’effetto dell’attivazione del piano di alimentazione «Prestazioni elevate» sul server con database Firebird, che serve 70 connessioni:

Effetto del piano di alimentazione Prestazioni elevate sull’utilizzo della CPU
Ok, potrebbe essere solo un utilizzo della CPU, e le prestazioni complessive? Abbiamo eseguito diversi test, simili a TPCC (simulazione di applicazioni OLTP) e abbiamo ottenuto questi numeri:
| Piano di alimentazione | Throughput TPC-C (più alto è meglio) |
|---|---|
| Bilanciato | 17029 |
| Prestazioni elevate | 21226 |
Questo test è fortemente limitato dal disco, quindi la differenza è solo del 20%, per operazioni intensive sulla CPU il miglioramento può essere ancora maggiore.
Inoltre, abbiamo eseguito il test di ripristino (con gbak -c) di un database Firebird 2.5 da 144Gb con diversi piani di alimentazione:
| Piano di alimentazione | Tempo di ripristino (meno è meglio) |
|---|---|
| Bilanciato | 4 ore 7 minuti |
| Prestazioni elevate | 2 ore 35 minuti |
La singola opzione «risparmio energetico» ha quasi raddoppiato le prestazioni del ripristino! Perché abbiamo un aumento delle prestazioni così evidente? La risposta sta negli indici: durante il ripristino, utilizzano intensamente la CPU per ordinare i valori.
Guarda i valori dei timestamp dal ripristino gbak (in secondi) per i 5 indici più grandi.
Con il piano di alimentazione bilanciato 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
Tempo totale: 3775 secondi
Con il piano di alimentazione Prestazioni elevate
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
Tempo totale: 2593 secondi
Riepilogo
Quindi, questa semplice impostazione in Pannello di controllo-> Hardware-> Opzioni risparmio energia può migliorare notevolmente le prestazioni del database Firebird su Windows Server 2016.
Ti preghiamo di verificarla e abilitare immediatamente il piano di alimentazione Prestazioni elevate!
Ulteriori letture sulle prestazioni del database Firebird:
- 45 Modi Per Accelerare il Database Firebird
- Nuovo monitoraggio delle prestazioni in HQbird 2018
- Servizio di ottimizzazione delle prestazioni Firebird
Ringraziamenti speciali a Oleg Matveev per l’aiuto nella preparazione di questo articolo!