
Como saber si tu SGDB Firebird no sufre de Latencia
#1
Posted 22 February 2012 - 10:59 PM
Dicen que la mejor forma de vivirlo es probarlo
bien despues de preparar mi servidor en linux e instalar el Firebird 2.0
y arrancar con bombo y platillo mi pequeño sistema en donde se maneja carnet de alumnos con fotografia(45 a 70 KB por campo) y trabajando para tener un mejor control de Incidencias.
para el primer año jalo de perla y ahora que va creciendo mi base de datos a 130 MB, pues veo que no se queja pero que creen en fechas para aca me conecto a travez de .Net y la nueva libreria NETProvider-2.5.0. se hace cada vez mas lento el proceso; ya sea de un select o insert y creo que algo anda mal
y quiero realizar un seguimiento de que puede ser
la pregunta es existirá alguna programa o utileria para hacer algo como un scan a la plataforma Firebird y ver que cosas anda mal.
una vez vi en ORACLE que maneja unos tools muy buenos para saber como estan tus tablas relaciones y temporales y ademas que hace un report de log
ahora la tendre que hacer de C.S.I.
para dar con este caso.
bueno espero explicarme bien sobre mi situacion saludos
#2
Posted 23 February 2012 - 03:48 AM
¿ Que extensión utilizas para tu base de datos ?. Si utilizas la extensión por defecto (GDB), deberías cambiarla por otra (FDB, DAT, ...), puesto que el System Restore hace una copia de todos los archivos .GDB, cada vez que se hace un cambio en ellos (lo cual es una gran pérdida de tiempo y espacio).
http://msdn.microsof...870(VS.85).aspx
Si no utilizas esa extensión, entonces me inclino a pensar en que no has optimizado tus consultas. A medida que rellenas las tablas, cada vez tiene más trabajo el motor SQL para cruzar datos entre tablas (JOINS). Para facilitarle el trabajo, y que no tenga que recorrer todos los datos de las tablas, tienes que crear índices para las claves secundarias (verás como el efecto es que algunas determinadas consultas pasan a ejecutarse en varios segundos a unos pocos milisegundos).
NOTA: Firebird no necesita esas herramientas que comentas que tiene Oracle, puesto que Firebird es una base de datos con cero administración. Simplemente funciona, no hay que afinarla, configurarla, mantenerla, etc. ... Si hay algún problema de rendimiento, no es a causa del motor de la base de datos.
Saludos.
#3
Posted 23 February 2012 - 06:38 AM
Mi primera recomendación es montar Firebird 2.5.1.
En cuanto a la lentitud son muchos factores, desde memoria de la PC hasta una tabla no indexada. Te exhorto a instalar IbExpert la versión trial para que verifiques los planes de cada consulta o de las consultas que estas presentando dicha lentitud.
Son muy pocos registros como para presentar problemas de accesibilidad.
#4
Posted 23 February 2012 - 08:55 AM
Si lo que dices:
pues veo que no se queja pero que creen en fechas para aca me conecto a travez de .Net y la nueva libreria NETProvider-2.5.0. se hace cada vez mas lento el proceso;
pregunto: ¿Siempre te has conectado por .Net?
¿Anteriormente que versión de provider utilizabas?
Saludos
#5
Posted 23 February 2012 - 09:29 AM
Gracias compañeros:
muy buenos tip´s
para
jdepaz: si siempre he usado el 2.5.2 (me corrijo la version es 2.5.2 y no 2.5.0).
Marc:
Casi no uso el restore o backup de firebird lo que hago en una copia via sync de linux, pero por lo regular no uso la copia.
Tengo la base de datos desde su origen trabajando.
ademas muy buen comentario sobre firebird.
considero para mi, que soy nuevo pensar mil cosas y ver cual de una de ellas sea la causa.
la verdad realizare varios analisis fisicos de mi red (cableado, conectores, hub, etc.) y tambien usare el IbExpert que comenta Rolphy
y
de antemano revisar mis planes de JOIN si algo anda mal.
lo que si estoy viendo y ademas me puso a investigar es el .Net provider en el portal de FirebirdSQl le hacen comentarios ha Jiri Cincura de que el fbcommand se bloque y hay veces tiene uno que obligar a cerrar la aplicacion. Esto pasa cuando se incrementan los numeros de conexiones a la BD y que recomiendan actualizar al 2.5.7.
Marc como le puedo hacer lo que dices "tienes que crear índices para las claves secundarias", a mi BD
y jdepaz:
veo que usas el ibexpert en que parte del menu puedo chekar lo de los planes de consulta y ver la eficiencia.
Muchas Gracias a Marc, jdepaz y Roldhy
Saludos
en lo posible publicare la causa.
#6
Posted 23 February 2012 - 01:12 PM
Casi no uso el restore o backup de firebird lo que hago en una copia via sync de linux, pero por lo regular no uso la copia.
Me refería al System Restore de Windows, no a copias de seguridad.
Si tienes tu servidor Firebird en Windows, hay una posiblidad (si utilizas las extensiones GDB) de que cada vez que te conectas a la base de datos, ese servicio de Windows haga una copia de ella (lo cual ralentizará mucho la aplicación).
Marc como le puedo hacer lo que dices "tienes que crear índices para las claves secundarias", a mi BD
Para crear un índice sobre un campo de una tabla tienes que hacerlo con el comando : CREATE INDEX NombreIndice ON NombreTabla (NombreCampo)
Aunque es mucho más rápido hacerlo de forma visual, a golpe de ratón en un administrador para las bases de datos, como el IBExpert (es un gran programa), FlameRobin, etc. ... Abre una tabla, y vete a la pestaña "Indices".
veo que usas el ibexpert en que parte del menu puedo chekar lo de los planes de consulta y ver la eficiencia.
Lanza tu consulta en IB-Expert, y observa el PLAN de ejecución (te aparecerá abajo del SQL Editor, al ejecutar tu consulta). Verás para cada unión el índice por el que se optimiza (si aparece NATURAL en lugar de un índice, quiere decir que para cada registro del resultado necesita recorrer todos los registros de la tabla secundaria para localizar la información enlazada, o sea, que te falta un índice para agilizar esa parte de la consulta).
NOTA: La versión de pago de IB-Expert, tiene información adicional sobre el rendimiento en la pestaña de "Performance analysis" del mismo SQL Editor (así como la pantalla de Database Statistics en el menú Services, con la granularidad de los índices, etc. ...), pero normalmente con el PLAN de ejecución tienes más que suficiente para optimizar una consulta.
Saludos.
#7
Posted 23 February 2012 - 01:16 PM
Saludos.
#8
Posted 23 February 2012 - 10:26 PM
actualize la libreria de conexion .Net Provider a 2.5.7: se conecta muy bien
el problema se debe a que agregaron a la red administrativa un segmento de red; un router CISCO y que sin saber el personal tecnico de la empresa conecto todos a este segmento esto me hacia que las 3 subredes convergen a ip diferentes y la daban prioridad.
me fui por lo facil conecte mi subred a un concentrador independiente y a usar el Servidor de datos y listo ya quedo.
tenia razon Marc de que Firebird no necesita herramientas este trabaja por que trabaja y listo. Gracias Amigo.
bueno el dia de Hoy aprendí algo nuevo.

Muchas Gracias y Saludos.

#9
Posted 23 February 2012 - 10:34 PM
Saludos