Configuración Avanzada de FIREBIRD

Consejos para la configuración de FIREBIRD

Introducción

Normalmente no es necesario configurar Firebird, es una de sus ventajas, pero sí tenemos muchos (más de diez por ejemplo) usuarios simultaneos del programa, entonces si que hay ciertos trucos y consideraciones que pueden mejorar la velocidad. También es preciso decir aquí que el autor no conoce especialmente los entresijos de este mundillo de la configuración de servidores Firebird, pero conoce a quien sí que sabe, que a fin de cuentas suele ser lo importante!

Si se decide, encontrará el fichero de texto donde se cambian estas configuraciones en la carpeta donde se instala Firebird ("C:\Archivos de programa\Firebird\Firebird_2_0" por ejemplo) y se llama "Firebird.conf" (diferentes versiones pueden usar otros nombres en el futuro).

Es un fichero de texto plano, (guarde una copia antes de empezar a modificarlo). Eliminando el '#' del principio de una línea hará que esa opción sea tenida en cuenta cuando reinicie Firebird (no es necesario reiniciar la maquina completa). Puede reiniciar el servidor en el panel de control, icono de Firebird, aquí tenemos un botón para detener e iniciar el servicio.

Tambien se puede usar una herramienta en modo grafico para realizar estas tareas, la puedes descargar aqui.


Tipo de instalación de Firebird

El gestor de bases de datos Firebird se puede instalar de dos modos, aunque la opción por defecto es habitualmente la más interesante, no está de más conocer el segundo formato, que en determinados casos (maquinas con varios procesadores, mucha memoria y para 20 o más usuarios) nos puede ayudar a mejorar el rendimiento.

La instalación por defecto es la denominada "SuperServer", el segundo formato se denomina "Clasic Server".

Se diferencian en el modo de organizarse para dar servicio a múltiples conexiones, y esta organización influye en el consumo de memoria RAM.
 
"SuperServer" reserva un número de MB por cada base de datos a las que se acceden. En este formato hay un único proceso, fbserver, lo que hace que el consumo de memoria sea fijo, independientemente del número de usuarios conectados. Por otra parte al ser un único proceso no se aprovechan máquinas multiprocesador: éste proceso ocupa uno de ellos y se olvida del resto de procesadores.

La versión 3 de Firebird, que debería salir a la calle en algún momento del 2008 - fecha aproximada- eliminará esta limitación en el número de procesadores y probablemente estas dos formas de instalar.

"Classic Server" crea un proceso y reserva un número de MB por cada conexión -usuario- y de este modo se aprovechan todos los procesadores que tengamos, pero la memoria RAM necesaria aumenta conforme añadimos más usuarios al sistema.

Solo se recomienda instalar de este modo si: Tenemos un servidor multiprocesador y suficiente memoria (2 Gigas por ejemplo) y el modo SuperServer no nos da un buen rendimiento... pero hay que tener en cuenta que la RAM necesaria se incrementará al añadir usuarios.
Si instalamos esta versión, debemos tenerlo en cuenta al elegir el tamaño del cache que asignamos a cada conexión (discutido a continuación), ya que en este caso no serán MB por base de datos, serán MB por usuario. De hecho, el valor por defecto de este parámetro es 2048 páginas (8 MB) en el SuperServer pero de solo 75 (300 KB) en el Classic server.

Consejos útiles

Veamos algunas cosas que pueden cambiar en la configuración "de fábrica" y qué efecto tendrán en el uso diario.

1) Tamaño de CACHE:
Simplificando es cuanta memoria RAM reservamos para cada base de datos que abre Firebird, y cuanta más, mejor, claro. Esta memoria se mide en "páginas", y una página puede variar de tamaño, siendo el tamaño por defecto en los datos de HCLab de 4 KB. Por defecto el modo "Superserver" de Firebird -la instalación por defecto- usa DefaultDbCachePages = 2048, es decir, unas 8 MB, así que realmente aquí tenemos mucho que ganar poniendo, por ejemplo, 10 veces más (80 MB) o incluso bastante más. Conviene jugar con ciertos valores y ver como queda el S.O. (Windows o Linux) de memoria libre, ya que gastar toda la memoria libre, aunque sea para una causa noble, nunca nos trae cuenta. Como el uso normal de HCLab es sobre una única base de datos, si decidimos usar 1 GB para Firebird, usaríamos unas cien veces más que lo que viene por defecto, unas 200 mil páginas, asi que DefaultDbCachePages = 204800 podría ser un valor interesante a probar. En el caso de ClassicServer, un buen número podría estar en torno a los 512 (512 x 4 = 2 MB por usuario simultaneo).

2) Ficheros temporales:
Se usan al ordenar datos y cosas así, es decir, muy a menudo. Estos ficheros no deben estar en el mismo disco donde está la propia base de datos, ya que en ese caso, el manipular ambos ficheros a la vez penalizará la velocidad considerablemente. Busque en el fichero de configuración la cláusula TempDirectories y haga que apunte al disco del sistema operativo, o si lo tiene, a un disco extra que use solo para estos ficheros temporales.

3) Disco RAM:
Si tiene RAM de sobra, digamos que mas de 2 GB en sistemas de 32 bits o más de 4 en sistemas de 64 bits, la RAM extra puede usarse para dar más velocidad a los temporales -sí, de nuevo son la clave- usando un "disco RAM". Estos discos, son programas que se instalan y hacen creer al sistema que la memoria es un disco nuevo, pero muy rápido. Si instalamos uno de estos programas y usamos esa unidad como directorio temporal de Firebird, el cambio puede ser espectacular.
Te recomendamos Virtual Hard Drive Pro de www.farstone.com por su versatilidad y facilidad de manejo, teniendo unas magnificas presataciones.

Fuente:
http://www.hcsoft.net