Esta página fue traducida automáticamente. Lee el original en inglés. English

Biblioteca de IBSurgeon

Cómo hacer que Firebird funcione un 20% más rápido en Windows Server 2016 en menos de 1 minuto

Cada vez más usuarios actualizan a Windows Server 2016 desde versiones anteriores, y algunos de ellos han notado que Windows Server 2016 funciona más lento que las versiones anteriores, incluso en el mismo hardware con la misma base de datos.

Hemos realizado varias pruebas en Windows Server 2016 y Firebird, y encontramos, entre otras cosas, la opción que influye drásticamente en el rendimiento de Windows Server 2016: el plan de energía.

Por defecto, Windows 2016 tiene el plan de energía «Equilibrado», que automáticamente equilibra el rendimiento con el consumo de energía en hardware capaz. Bueno, suena inofensivo, pero de hecho, el plan de energía Equilibrado en Windows Server 2016 suprime en gran medida el rendimiento de la CPU y disminuye el rendimiento general del servidor.

Es posible cambiar el plan de energía sobre la marcha, sin necesidad de reiniciar. Vea el efecto de habilitar el plan de energía «Alto rendimiento» en el servidor con la base de datos Firebird, que atiende 70 conexiones:

Efecto del plan de energía de Alto rendimiento en la utilización de la CPU

Bien, esto puede ser solo una utilización de la CPU, ¿qué hay del rendimiento general? Hemos ejecutado varias pruebas, similares a TPCC (simulación de aplicaciones OLTP) y obtuvimos estos números:

Plan de energía Rendimiento TPC-C (cuanto más alto, mejor)
Equilibrado 17029
Alto rendimiento 21226

Esta prueba está altamente limitada por el disco, por lo que la diferencia es solo del 20%, para operaciones intensivas en CPU la mejora puede ser aún mayor.

Además, hemos realizado la prueba de restauración (con gbak -c) de una base de datos Firebird 2.5 de 144Gb con diferentes planes de energía:

Plan de energía Tiempo de restauración (cuanto menos, mejor)
Equilibrado 4 horas 7 minutos
Alto rendimiento 2 horas 35 minutos

¡La única opción de «ahorro de energía» casi duplicó el rendimiento de la restauración! ¿Por qué tenemos un aumento de rendimiento tan notable? La respuesta está en los índices: durante la restauración, utilizan intensivamente la CPU para ordenar valores.

Mire los valores de marcas de tiempo de la restauración de gbak (en segundos) para los 5 índices más grandes.

Con el plan de energía equilibrado de 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

Tiempo total: 3775 segundos

Con el plan de energía de Alto rendimiento

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

Tiempo total: 2593 segundos

Resumen

Entonces, esta simple configuración en Panel de control-> Hardware-> Opciones de energía puede mejorar en gran medida el rendimiento de la base de datos Firebird en Windows Server 2016.

¡Por favor, verifíquelo y habilite el plan de energía de Alto rendimiento inmediatamente!

Más lectura sobre el rendimiento de la base de datos Firebird:

¡Agradecimiento especial a Oleg Matveev por la ayuda con la preparación de este artículo!