Questa pagina è stata tradotta automaticamente. Leggi l'originale in inglese. English

Libreria IBSurgeon

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:

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

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

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

Tempo totale: 2593 secondi

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:

Ringraziamenti speciali a Oleg Matveev per l’aiuto nella preparazione di questo articolo!