Како учинити да Firebird ради 20% брже на Windows Server 2016 за мање од 1 минута
Све више и више корисника надограђује на Windows Server 2016 са старијих верзија, а неки од њих су приметили да Windows Server 2016 ради спорије од претходних верзија, чак и на истом хардверу са истом базом података.
Извршили смо неколико тестова на Windows Server 2016 и Firebird-у и открили, између осталог, опцију која драматично утиче на перформансе Windows Server 2016: план напајања.
Подразумевано, Windows 2016 има „Уравнотежен" план напајања, који аутоматски балансира перформансе са потрошњом енергије на способном хардверу. Звучи безопасно, али у ствари, уравнотежен план напајања на Windows Server 2016 у великој мери смањује перформансе процесора и смањује укупне перформансе сервера.
Могуће је пребацити план напајања у ходу, без потребе за поновним покретањем. Погледајте ефекат омогућавања плана напајања „Високе перформансе" на серверу са Firebird базом података, који опслужује 70 конекција:

Ефекат плана напајања високих перформанси на искоришћење процесора
Ок, ово може бити само искоришћење процесора, а шта је са укупним перформансама? Покренули смо неколико тестова, сличних TPCC (симулација OLTP апликација) и добили следеће бројеве:
| План напајања | TPC-C пропусност (што више то боље) |
|---|---|
| Уравнотежен | 17029 |
| Високе перформансе | 21226 |
Овај тест је у великој мери ограничен диском, па је разлика само 20%, а за операције интензивне на процесору побољшање може бити још веће.
Такође, извршили смо тест враћања (са gbak -c) 144Gb Firebird 2.5 базе података са различитим плановима напајања:
| План напајања | Време враћања (што мање то боље) |
|---|---|
| Уравнотежен | 4 сата 7 минута |
| Високе перформансе | 2 сата 35 минута |
Једна опција „уштеде енергије" скоро је удвостручила перформансе враћања! Зашто имамо тако приметно повећање перформанси? Одговор је у индексима: током враћања, они интензивно користе процесор за сортирање вредности.
Погледајте временске ознаке из gbak враћања (у секундама) за 5 највећих индекса.
Са уравнотеженим планом напајања gbak:
gbak: 9529.339 1230.343 5028900 346529 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_DT_D
gbak: 10787.610 1258.270 5028909 233365 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_TAG_D
gbak: 11824.329 1036.718 5028907 216488 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_LU_D
gbak: 12571.012 746.683 5028907 265160 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_C1
gbak: 13304.334 733.321 5028908 359393 активирање и креирање одложеног индекса PKMNF2_DOC_DOWNTIME
Укупно време: 3775 секунди
Са планом напајања високих перформанси
gbak: 5301.785 615.045 5028900 346529 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_DT_D
gbak: 5924.667 622.882 5028909 233365 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_TAG_D
gbak: 6569.815 645.147 5028907 216488 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_LU_D
gbak: 7186.322 616.506 5028907 265160 активирање и креирање одложеног индекса INDMF_TAG_PLC_DATA_C1
gbak: 7894.340 708.018 5028908 359393 активирање и креирање одложеног индекса PKMNF2_DOC_DOWNTIME
Укупно време: 2593 секунде
Резиме
Дакле, ова једноставна поставка у Контролна табла -> Хардвер -> Опције напајања може у великој мери побољшати перформансе Firebird базе података на Windows Server 2016.
Молимо вас да проверите и одмах омогућите план напајања „Високе перформансе"!
Још читања о перформансама Firebird базе података:
- 45 начина да убрзате Firebird базу података
- Ново праћење перформанси у HQbird 2018
- Услуга оптимизације перформанси Firebird-а
Посебна захвалност Олегу Матвејеву за помоћ у припреми овог чланка!