Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Knihovna IBSurgeon

Jak zrychlit Firebird o 20 % na Windows Server 2016 za méně než 1 minutu

Stále více uživatelů přechází na Windows Server 2016 ze starších verzí a někteří z nich si všimli, že Windows Server 2016 pracuje pomaleji než předchozí verze, a to i na stejném hardwaru se stejnou databází.

Provedli jsme několik testů na Windows Server 2016 a Firebirdu a zjistili jsme mimo jiné možnost, která dramaticky ovlivňuje výkon Windows Server 2016: plán napájení.

Ve výchozím nastavení má Windows 2016 plán napájení «Vyvážený», který automaticky vyvažuje výkon s spotřebou energie na výkonném hardwaru. Zní to neškodně, ale ve skutečnosti plán napájení Vyvážený na Windows Server 2016 výrazně potlačuje výkon CPU a snižuje celkový výkon serveru.

Plán napájení lze přepnout za běhu, není nutný restart. Podívejte se na efekt povolení plánu napájení «Vysoký výkon» na serveru s databází Firebird, která obsluhuje 70 připojení:

Efekt plánu napájení Vysoký výkon na využití CPU

Dobře, to může být jen využití CPU, ale co celkový výkon? Spustili jsme několik testů, podobných TPCC (simulace OLTP aplikace), a získali jsme tato čísla:

Plán napájení TPC-C propustnost (čím vyšší, tím lepší)
Vyvážený 17029
Vysoký výkon 21226

Tento test je vysoce závislý na disku, takže rozdíl je pouze 20 %, u operací náročných na CPU může být zlepšení ještě vyšší.

Také jsme provedli test obnovy (pomocí gbak -c) databáze Firebird 2.5 o velikosti 144 GB s různými plány napájení:

Plán napájení Čas obnovy (čím méně, tím lépe)
Vyvážený 4 hodiny 7 minut
Vysoký výkon 2 hodiny 35 minut

Jediná možnost «úspory energie» téměř zdvojnásobila výkon obnovy! Proč máme tak výrazné zvýšení výkonu? Odpověď je v indexech: během obnovy intenzivně využívají CPU k řazení hodnot.

Podívejte se na hodnoty časových razítek z obnovy gbak (v sekundách) pro 5 největších indexů.

S vyváženým plánem napájení 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

Celkový čas: 3775 sekund

S plánem napájení Vysoký výkon

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

Celkový čas: 2593 sekund

Shrnutí

Takže toto jednoduché nastavení v Ovládacích panelech -> Hardware -> Možnosti napájení může výrazně zlepšit výkon databáze Firebird na Windows Server 2016.

Zkontrolujte to a okamžitě povolte plán napájení Vysoký výkon!

Další čtení o výkonu databáze Firebird:

Zvláštní poděkování Olegu Matveevovi za pomoc s přípravou tohoto článku!