Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Firebird mal rendimiento en linux (https://www.clubdelphi.com/foros/showthread.php?t=53958)

rastafarey 05-03-2008 17:28:40

Firebird mal rendimiento en linux
 
No si a alguien le ha pasado.

Pero probe una consulta de una vista que devuelve 30 campo y 9505 registros
en firebird 1.5. super server

Bajo windows demoro 1segundo
Bajo linux demoro 29 segundos.

Nota. Solo instale los dos servidores y lanse la consulta no modifique ninguno de
los parametros de configuracion del servidor.

Lo extraño es que bajo linux deberia funcionar mas rapido que bajo windows.

El equipo linux es superior al windows.

Al guien podria decirme o darme alguna luz de por que es mas lento.

Casimiro Notevi 05-03-2008 18:55:27

je, je... ¿no deberías darnos 'algunos' datos más? :)

rastafarey 07-03-2008 17:49:09

resp
 
Que mas te puede decir.

No se me ocurre mas nada que decir ya que no modifique nada el los servidores.

Es mas en linux quite las reglas del firewall ya que pense que podi aser eso.

Es lo que puedo decir.

No hay una configuracion extra o lago por estilo que deba explicar aqui.

jachguate 07-03-2008 18:05:17

Bien, a falta de mas información, quisiera comentar que en mi experiencia, el rendimiento de firebird en linux es muy superior al rendimiento en windows.

He utilizado firebird con varias distribuciones, principalmente Mandrake, Mandriva, SuSE y debian, teniendo hasta ahora muy buena experiencia.

En una ocasión, cuando trabajaba para cierta compañia, un amigo y yo propusimos que se probara migrar los servidores a linux... logramos que se nos autorizara realizar una prueba cuando se estaban migrando datos de una aplicación vieja para firebird... se utilizaron dos servidores exactamente iguales para realizar la prueba, y mientras en el servidor windows la migración tomó unas 12 horas, en el servidor linux terminó en 4.

La decisión de la empresa, para mi sorpresa, fue seguir con windows.

Hasta luego.

;)

Casimiro Notevi 07-03-2008 19:18:29

Cita:

Empezado por jachguate (Mensaje 271507)
[..]se utilizaron dos servidores exactamente iguales para realizar la prueba, y mientras en el servidor windows la migración tomó unas 12 horas, en el servidor linux terminó en 4.
La decisión de la empresa, para mi sorpresa, fue seguir con windows.[..]

Una decisión muy lógica :confused::eek:

Casimiro Notevi 07-03-2008 19:23:17

Cita:

Empezado por rastafarey (Mensaje 271499)
Que mas te puede decir.
No se me ocurre mas nada que decir ya que no modifique nada el los servidores.
Es mas en linux quite las reglas del firewall ya que pense que podi aser eso.
Es lo que puedo decir.
No hay una configuracion extra o lago por estilo que deba explicar aqui.

ufff, pero así, no se me ocurre nada.
¿Las pruebas están hechas en local?
¿Si se hicieron por red, el equipo desde el que se hizo la prueba, estaba haciendo otra cosa?
¿alguien quitó el cable de red y luego lo puso de nuevo durante la prueba?
¿seguro que las pruebas fueron iguales con bases de datos iguales?
¿mientras se hacía la prueba... estaba el servidor actualizando 187 paquetes de software que se había descargado hacía un momento?

En fin, es sólo por si toco la flauta por casualidad :)

jachguate 07-03-2008 20:02:44

Cita:

Empezado por Casimiro Notevi (Mensaje 271532)
Una decisión muy lógica :confused::eek:

¡muy inteligentes! claro está... :rolleyes::rolleyes::rolleyes:

jajajajaja.

Rudi 07-03-2008 20:07:09

Buenas tardes.

Hace unas semanas comencé a meterme con linux, conseguí un equipo bajo perfil (PIII 1Ghz, 515 RAM, HD 80GB IDE, 2 NIC 10/100) me bajé unos tutoriales e instalé mi primer servidor Linux (Debian etch), bajé mas tutoriales e instalé y configuré mi primer firewall, luego el samba, el php, el mysql y el firebird, todo siguiendo tutoriales bajados de diversas fuentes en la red. :)

A medida que instalaba algo, hacia las pruebas básicas cara verificar que todo estuviera bien, cuando llegué al firebird, noté que su rendimiento era como para pegarse un tiro. :mad:

Pensé que en mi novatada había hecho algo mal, releí e imprimí los tutoriales para instalar firebird en linux (debian) y desinstalé e instalé los paquetes algo así como muchas veces y siempre era lo mismo. hasta lo dejé de lado para cuando pudiera consultar que había echo mal :rolleyes:.

Posiblemente tengo el mismo problema que rastafarey

En mi caso, como comenté el servidor está recién instalado y actualizado.

solo estan corriendo el apache, php, mysql y samba.

el samba funciona perfecto, comparto archivos e impresoras con el equipo windows; el apache con php y mysql tambien, monte un par de páginas sencillas y perfecto tanto las estáticas como las dinamicas(php)

ahora el firebird es demasiado lento, con base de datos identicas la diferencia en windows con linux es como de 20 veces mas rapido en windows. (en la red solo estan los dos equipos de las pruebas y probando samba tuve mediciones de 80Mbps con picos de 90Mbps)

realmente pensé que era algo que había que configurar al firebird en linux para aumentar su rendimiento pero no consigo nada de relevancia en la red :confused: .

Bueno cualquier cosa que se les ocurra, se agradece de antemano.

P.D. ya somos rastafarey y yo con el mismo problema o muy parecido. (menos mal que no estoy solo :D)

jachguate 07-03-2008 20:23:58

Cita:

Empezado por Rudi (Mensaje 271544)
instalé mi primer servidor Linux (Debian etch)...

cuando llegué al firebird, noté que su rendimiento era como para pegarse un tiro. :mad:

En mi experiencia, los paquetes oficiales para instalar firebird en debian apestan. Hace un tiempo he publicado un artículo para Instalar firebird en debian y no morir en el intento que quizás pueda resultarte de utilidad.

Hasta luego.

;)

Rudi 07-03-2008 22:36:27

Gracias jachguate.

Pero tu blog habla de instalar la versión 2.0.3 mi intensión era montar la 1.5. que en teoría debería funcionar perfectamente. de hecho la instalación no da problemas, solo el bajo rendimiento y la frustración de no haber podido montar el servidor de base de datos como se debe, o por lo menos no obtener los resultados magníficos que todos comentan y no saber si es por errores de novato en linux o por otra cosa, porque todas las consultas, vistas, storeProcedures, todo funciona perfecto, no me da ni un solo error, lo único es que se tarda 20 veces mas que la comparación en windows.

por puro orgullo voy a seguir averiguando que paso con mi problema de rendimiento en firebird. si llego al punto de quiebre, intento montar la 2.0.3 con tus consejos del blog.

Gracias de todas formas.

jachguate 07-03-2008 22:42:13

Bueno, si la intención es hacer una prueba... no veo la diferencia entre usar 1.5 o 2.0.... :confused:

Rudi 08-03-2008 00:33:46

Cita:

Bueno, si la intención es hacer una prueba... no veo la diferencia entre usar 1.5 o 2.0....
Es que tengo varias aplicaciones viejas que las hice bajo firebird 1.5 cuando trabajaba freelance ;), claro que tendré que ir migrándolas a la versión 2 pero mientra hago eso en el tiempo libre quería ir practicando con firebird en linux ya que he leído demasiados buenos comentarios del rendimiento y estabilidad de esa dupla.

por cierto, ya que me comentabas lo complicado de los paquetes de firebird para debian que distribución me recomendarías para montar servidor de base de datos firebird en equipos de bajo-mediano perfil?

desde ya Muchas gracias.

jachguate 08-03-2008 01:11:39

Cita:

Empezado por Rudi (Mensaje 271653)
Es que tengo varias aplicaciones viejas que las hice bajo firebird 1.5 cuando trabajaba freelance ;), claro que tendré que ir migrándolas a la versión 2 pero mientra hago eso en el tiempo libre quería ir practicando con firebird en linux ya que he leído demasiados buenos comentarios del rendimiento y estabilidad de esa dupla.

¿Has tenido que hacer algo para "migrarlas"... muchas de mis aplicaciones nacieron en los tiempos de Interbase 6 y francamente el esfuerzo para ir migrándolas ha sido mínimo. Pero sobre todo de firebird 1.5 a firebird 2, francamente no recuerdo haber hecho nada.... cuándo me decidí probar, solamente fue hacer backups, desinstalar el 1.5, instalar el 2.0, restaurar los backups y listo.

Cita:

Empezado por Rudi (Mensaje 271653)
por cierto, ya que me comentabas lo complicado de los paquetes de firebird para debian que distribución me recomendarías para montar servidor de base de datos firebird en equipos de bajo-mediano perfil?

No estoy en posición de recomendar distribuciones. Actualmente en esos entornos uso debian, con muy buenos resultados. Sobre lo complicado de los paquetes... es algo de lo que no me fijo... pues utilizo el script que he publicado en el blog para realizar la instalación... y cero bolas.

Hasta luego.

;)

Rudi 08-03-2008 01:26:04

Lo de migrar de 1.5 a 2 es basicamente que tengo muchas consultas tanto en los sistemas como en vistas, storeprocedures, disparadores y hasta campos calculados del tipo:
Código:

WHERE TABLA1.CAMPO NOT IN (SELECT TABLA2.CAMPO ...)
las que tendría que pasar a consultas del tipo:
Código:

WHERE NOT EXISTS ...
Pero como el que escucha consejo llega a viejo, te voy a tomar la palabra y voy a intentar instalar el firebird segun el script que tienes en tu blog. cualquier problema te estaré fastidiando.

por cierto, podriamos decir entonces que no fue mi falta de experticia en el manejo de linux sino un problema general de debian con firebird 1.5 lo que resulta en el bajo rendimiento que estoy experimentando?

Nuevamente muchas gracias

jachguate 08-03-2008 01:43:31

Cita:

Empezado por Rudi (Mensaje 271670)
Lo de migrar de 1.5 a 2 es basicamente que tengo muchas consultas tanto en los sistemas como en vistas, storeprocedures, disparadores y hasta campos calculados del tipo:
Código:

WHERE TABLA1.CAMPO NOT IN (SELECT TABLA2.CAMPO ...)
las que tendría que pasar a consultas del tipo:
Código:

WHERE NOT EXISTS ...

¿tendrías?... no lo creo. Yo diría podrías, pues la sintaxis que usas sigue estando plenamente soportada.

Cita:

Empezado por Rudi (Mensaje 271670)
por cierto, podriamos decir entonces que no fue mi falta de experticia en el manejo de linux sino un problema general de debian con firebird 1.5 lo que resulta en el bajo rendimiento que estoy experimentando?

Nunca he querido decir eso, y la verdad no tengo idea. Personalmente, nunca probé Firebird 1.5 sobre debian, ni con paquetes originales, ni con ningún otro método. Si intenté instalarlo... pero finalmente nunca hice pruebas.

Mi experiencia linux/firebird 1.5 se reduce a Mandrake/Mandriva, donde el rendimiento siempre fue bueno.

Hasta luego.

;)

Casimiro Notevi 08-03-2008 02:41:33

Yo sí he probado Firebird 1.5 con Debian, bueno... con Ubuntu, y también con RedHat y Suse. La verdad, no he notado diferencia significativa entre ellos, en todos "vuela".

p.d. Todos nuestros clientes tienes servidores Linux y todos tienen Firebird 1.5 menos los 2 últimos clientes de este mes pasado, que ya hemos empezado a poner Firebird 2.0 (uno va con Ubuntu y el otro con Suse).

Hasta ahora, de momento, nunca hemos tenido problema con ninguno en rendimiento.

rastafarey 11-03-2008 17:11:55

resp
 
explico un pco mas.

1. Ambos servidores estaban en la misma red local.
2. El equipo desde el que se realizaban las pruebas no hacia mas nada.
3. Segunlo me dijeron de ser el equipo identicos lo hice(aunque en la maquina que estaba el servidor linux era superior) monte el linux en un equipo identico al windows y saben cual fue la sorpresa. Sigue igual,
4. Las pruebas las hice con las dos versiones de firebird 1.5, 2.0.3 pero sigue igual.

Si le hace falta alguna otra informacion me la podrian decir y se las envio.

rastafarey 13-03-2008 21:58:31

resp
 
Vamos a escribri algo para que poccionar el pos al inicio

sur-se 14-03-2008 11:16:13

Firebird en linux
 
Hola. Yo también utilizo firebird 1.5 con Linux. En mi caso utilizo Red-Hat y CentOS, aunque también lo he instalado en Fedora.
La realidad es clara con las múltiples pruebas e instalaciones de clientes que tengo ya realizadas. En linux el rendimiento es mayor que en windows. ¿En que medida? Es difícil de calcular, yo para eso tengo una serie de informes/procesos que lanzo en uno y otro y mido tiempos de respuesta.
Para una misma máquina en linux y en windows server, el rendimiento es superior en linux, además de su fiabilidad y número de usuarios simultáneos que puede gestionar sin decaer el rendimiento.
En el caso concreto de la consulta puesta, no sé que podrá ser para esa diferencia de rendimiento, pero pueden intervernir muchísimos factores, entre los que yo destacaría:
- Velocidad de los discos duros. Si la máquina windows tiene discos duros SATA-II y la máquina linux IDE de los antiguos, pues ya me dirás que comparativa es esa.
- Conexión de red. No es lo mismo tener una máquina con red 10/100 que con una tarjeta 10/100/1000 en un swtich de admita Gigabit.

Según comentas, el equipo linux es superior al windows, pero ¿en que sentido? Tener un micro un 20% más rápido no significa un equipo mucho mejor porque en las consultas lo crítico es el acceso al disco.

En cualquier caso, hardware a parte, algo no has instalado bien en el linux. Yo miraría el rendimiento de la máquina a ver que está haciendo cuando lanzas la consulta. Que procesos se ponen al 80 ó 90 % de rendimiento, en general, el comando top para ver la carga de trabajo y el comando iostat para ver el rendimiento de acceso al disco. Ver que tareas están en automático (cron). ¿La instalación del linux lleva su drivers correctos? Me ha ocurrido una vez que instalé un servidor linux y me detectó la tarjeta de red, así que no me molesté en ponerle sus drivers del proveedor. Después de ver que la máquina no rendía bien y analizar el problema vi que era de la red. Le puse los indicados por el fabricante y problema solucionado. Por eso te digo que pueden ser muchos los elementos que intervienen en ese bajo rendimiento.
Otra cosa, al copiar el fichero GDB del windows al linux, te aconsejo que pruebes ha realizar un gbak para descargar y volver a crear la BD por si acaso en la copia estuviese algo corrupto (es raro pero podría ocurrir).
Te puedo asegurar, como han dicho otros compañeros en las consultas, que el rendimiento en linux en mayor que en windows a igualdad de máquinas.
Un saludo.

TJose 15-03-2008 14:59:48

Cita:

Empezado por Rudi (Mensaje 271653)
Es que tengo varias aplicaciones viejas que las hice bajo firebird 1.5 cuando trabajaba freelance ;), claro que tendré que ir migrándolas a la versión 2 pero mientra hago eso en el tiempo libre quería ir practicando con firebird en linux ya que he leído demasiados buenos comentarios del rendimiento y estabilidad de esa dupla.

Hola Rudi

tengo desarrollada una aplicación con los IBX en C++Builder (año 2003). A principio corría con Firebird 1.03, luego con la versión 1.5.x (pasando por todas las x) y ahora con la 2.0.x y no he tenido ningún problema.

En su momento también pensé que al usar IBX que (no son compatibles con FB) podría tener algún problema, pero como dije, aún sigue funcionando bien.

Saludos
TJose

RONPABLO 16-03-2008 04:37:54

Hola rastafarey, el equipo en Linux depronto será multiprocesador??? de ser así tu dices que tienes instalado el super server, prueba con clasic server que es pensado en dicho tipo de equipos...

Rudi 16-03-2008 17:58:02

Hola TJose.

Ese comentario lo hice porque utilizo muchas vistas y consultas en general que involucran la clausula NOT IN que en firebird 1.5 eran indexadas y en firebird 2 no, por eso la gente de firebird recomienda cambiarlas a NOT EXISTS y de hecho he hecho pruebas de la misma BD corriendo en firebird 1.5 y en firebird 2 y cuando le toca una consulta NOT IN en firebird 2 el rendimiento es para salir a tomar cafe mientras trae los registros. de hecho en el analizador de rendimiento de IBExpert muestra las consultas indesadas y no indexadas y cuando corre sobre firebird 1,5 todo indexado y sobre firebird 2 las consultas sobre clausulas NOT IN estan no indexadas.

A eso me refería

Gracias por preocuparte de todas formas, por cierto reinstale el debian y nada, creo que será debian, antes de cambiar distribución voy a probar con el script de jachguate para instalar firebird 2 a ver que tal. sino creo que haré una encuesta para ver entre los experimentados y entendidos (sin veteranos) del asunto cual será la mejor distribución para montar mi servidor linux con firebird.

Una vez mas gracias a todos, seguiré buscando la solución, como comenté antes, puede ser mi error pero al ver que a rastafarey le pasa lo mismo me pareció bueno preguntar sobre mi caso.

RONPABLO 22-03-2008 03:00:02

Hola Rudi, reviviendo este hilo y leyendo recientemente los FAQ de Firebird me encontré con lo siguiente

Cita:

Empezado por FAQ Firebird
Why is my query that uses IN or NOT IN slow?


This is an issue with Firebird optimizer. In newer Firebird versions the problem with IN is fixed, but the problem with NOT IN remains. In any case, it is safe and often faster to use EXISTS and NOT EXISTS instead. Each IN and NOT IN query can be rewritten to use EXISTS and NOT EXISTS.

Example:


select * from employee e
where e.emp_no in (select s.emp_no from SALARY_HISTORY s);

-- rewritten with EXISTS:

select * from employee e
where exists (select 1 from SALARY_HISTORY s where e.emp_no = s.emp_no);


Con lo poco que entiendo de ingles se refiere que en versiones antiguas el problema de velocidad lo tenia tanto la clausula IN y NOT IN, pero que en las nuevas versiones el IN fue optimizado pero el NOT IN continua lento... es decir que si antes era aceptable para ti ahora no debe ser tanto... Aunque tu hablaste de Indexar y esa parte aun no la he visto y depronto estoy siendo muy apresurado en emitir mi opinión... pero podrías probar si la velocidad se ve afectada o no con antiguas consultas que usan el NOT IN

Rudi 24-03-2008 02:44:23

Hola RONPABLO,

Gracias por responder.

Recién estoy llegando de vacaciones y no he podido probar nada extra pero en las primeras pruebas que hice es evidente que en firebird 2 el uso del NOT IN es una locura, por eso decía yo lo de migrar mis aplicaciones de 1.5 a 2, cosa que tal vez no me hice entender en su momento. Ese problema (NOT IN en FB 2) ya lo tenia en la listas de cosas por hacer pero mi verdadero problema es ahora, por puro orgullo, lograr que en mi equipo debian el firebird sea mas rápido que en el equipo windows.

Gracias nuevamente.

jachguate 01-04-2008 03:05:32

¿algún avance?

rastafarey 01-04-2008 20:11:55

resp
 
No he encontrado cual es el problema.

He hechos todo lo que me han dich he probado todo lo que sabido que me poueda dar problemas pero el enfermo no mejora.

rastafarey 11-06-2008 19:52:49

Resp
 
Vamos a posicionar el post al principio ya que no se ha solucionado


La franja horaria es GMT +2. Ahora son las 09:38:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi