FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola, tremendo y viejo hilo que se ha revivido, un saludo a todos los entrañables amigos que van participando por aquí!!
Estoy algo corto de tiempo y, aunque me gustaría, no he tenido ocasión de leer con detenimiento lo que ya se ha mencionado en respuesta a la pregunta de erickahr. Solo decir que, como bien ha dicho ya mi estimado casimiro es algo aventurado dar respuestas genéricas y por eso, no entraré en mayores detalles. Solo mencionar que si que hay diversas técnicas que se pueden aplicar para encontrar una solución. Como buen DBA (te guste o no, estas llevando ese rol, quizás aparte del de desarrollador y otras cosas), debes aprender a pensar en función de "cuellos de botella". Cuándo una aplicación está respondiendo más lento de lo que esperarías, usualmente es porque hay un cuello de botella... es decir, tenes cierta cantidad de información y cierta "potencia" en el hardware para procesarla... todo el sistema será tan rápido como el punto del proceso por donde más lento pase la información. Cosas a tener en cuenta son muchas, y varían de acuerdo a cómo tenes configurada la base de datos, cómo se realizan las consultas, etc. Hay que empezar por lo básico, como por ejemplo comprender al optimizador del motor y escribir las consultas de manera que los planes sean óptimos, evitar full table scans, etc. Cosas a tener en cuenta son:
Cita:
Un saludo y hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate Última edición por jachguate fecha: 11-11-2011 a las 18:02:22. |
#2
|
||||
|
||||
Hola, amigo jachguate, es cierto que windows usa la memoria virtual (fichero en el disco duro) para "ampliar" aunque tenga mucha RAM instalada, incluso le sobre, pero eso es un problema de windows, como has dicho.
En linux, no es así, linux usa toda la memoria ram disponible y sólo cuando ya no le queda más remedio, entonces usará la memoria virtual, por lo que siempre está sacando el máximo rendimiento a la ram instalada, y cuanto más tenga, mejor. En los apartados de memoria y cpus, no estoy nada de acuerdo contigo, mejor dicho, o te has confundido o no te he entendido, pero aquí dices: Cita:
Pero no es así en linux con las versiones classicserver ni superclassic, firebird hace uso de todas las cpus instaladas, perfectamente, transparente al usuario, y además lo hace muy bien, aprovechando cada cpu, según su nivel de utilización, si está muy ocupada entonces lanza la consulta por otra cpu. Lo tengo más que probado en mis clientes, observando con 'top' los procesos del servidor según van trabajando los usuarios, y cómo firebird va haciendo peticiones a cpus más ociosas para repartir el trabajo entre todas las cpus. Además no sólo lo digo yo, lo dice la propia documentación de firebird: Cita:
Cita:
El único problema es ahí los discos duros, pero ya digo que hay que montar los más rápidos que se pueda permitir económicamente. En un par de clientes también tenemos instalado red de fibra óptica, por lo que los "cuellos de botella" que mencionas se quedan prácticamente en la eficiencia de las SQLs que hayamos hecho nosotros En cuanto a la memoria, la verdad es que firebird consume muy poco, otra gran ventaja, pero sí necesita un poco por cada conexión abierta, obviamente, no recuerdo la cantidad, pero también es poco, el lunes lo puedo confirmar preguntando a un cliente, pero juraría haber visto en algunas ocasiones más de 6 Gb de ram usadas, eso sí, con varias decenas de conexiones activas. En fin, que al igual que afirmas que con servidores linux la diferencia de rendimiento con windows es bastante grande, también creo que esos "limitantes" que has puesto de cpus y ram, se dan sólo en windows, donde se usa la versión superserver. Y no tiene nada que ver con las versiones classic de firebird, menos todavía en linux.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 11-11-2011 a las 19:32:08. |
#3
|
|||||||
|
|||||||
Cita:
Cita:
Lo que yo dije es: Cita:
Procesador. Puede que tengas 16 nucleos, pero que (por estar mal configurada o por haber elegido la edición incorrecta) la base de datos solo pueda sacar provecho de uno (especialmente cierto con firebird). Y nunca quise decir que Firebird no pudiese sacar provecho de todos los núcleos o procesadores instalados. Cuando comparas Firebird con otros motores, sin embargo, no puede dejar de reconocerse que aún tiene limitaciones (la falta de una caché compartida, pro ejemplo), y que no será hasta la versión 3 que esto mejore realmente. Esto tiene que ver también con el punto anterior. Cita:
Cita:
Cita:
Cita:
Yo diría que:
Un saludo, amigo Casimiro y a todos!
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
||||
|
||||
Seguramente no te entendí bien, mejor ahora, quedará también más claro para otros posibles usuarios
Buen viaje |
#5
|
||||
|
||||
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
|||
|
|||
Hola, no tengo tanta experiencia en este tema como ustedes pero me enfrento a una situación muy similar y lo que yo puedo aportar es que una consulta SQL específicamente con esas cantidades de registros inevitablemente van hacer lentas por mas optimizadas que se encuentren y la unica opcion seria las tablas de los acumulados, pero ahi es de donde viene otro problema, los TRIGGERS
Cita:
me parece perfecta la idea de poder tener 2 base de datos - una para detalle o para los millones de registros - otra para los acumulados (en donde el proceso de mantenimiento se pueda hacer mucho mas rapido y mas frecuente) pero que pasa con las transacciones????? se puede tener una trasaccion para 2 bases de datos???? Saludos GM |
#7
|
||||
|
||||
Asi sea
Hola, buen dia a todos compañeros foreros, y antes que nada muchisimas gracias a todos, y especialmente en orden de respuesta.
He leido detenidamente cada punto de sus recomendaciones, de sus consejos, y bueno creo que el primer punto de "Things to do" es montarme un servidor linux, inceramente estoy muy verde en linux, pretendo usar Fedora, aunque ya antes he tenido problemitas con otras distros para levantar el Samba, y tengo ciertas dudas, pero por lo leido vale bastate la pena el cambio, y lo haremos. Como datos adicionales, solo para no dejar cosas en el aire, manejamos un servidor dedicado para los DNS y administracion de los usuarios, permisos y demas; y otro servidor exclusivamente para la BD, el cual no corre aplicaciones, es dedicado, no administra nada, cuenta con 4 cores, se generan Backups diarios a la 1 de la madrugada (cuando el servidor no tiene conexiones activas), y se almacenan en un disco externo de 4TB. Como bien dice Chris con la cuestion de los reportes creo que me explique mal, si me refero al momento de hacer la consulta, ya que una vez con los datos necesarios el RAVE me funciona perfecto, y si, hay algunos reportes 'pesados' en los cuales cambiaré la ideologia y en lugar de sacarlos con Joins, Groups, y demás, se mandarán a una tabla de acumulados para sacar la informacion con un select mas sencillo, aunque en este punto me entra otra pequeña duda...
Cita:
Y bueno por último y no por eso menos importante Jachguate, pues tu dime como por que fecha andas en esta tierra Azteca, y claro que nos ponemos de acuerdo y si alguien más anda por el rumbo, armamos una 'Taberna' en el plano real . Me temo que andaré por aca dando lata mas adelante, porque esto apenas comienza... Saludos y nuevamente Gracias.
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
#8
|
||||
|
||||
Cita:
El servidor firebird se comunica por el puerto 3050 y él se encarga de hacer las peticiones a la base de datos y de dar las respuestas. Pero nadie, ningún usuario tiene por qué tener acceso a nada del servidor, no hay que compartir nada. Mejor que los usuarios ni sepan dónde está el servidor, usas un alias y listo. Cuando vayas a instalarlo si tienes cualquier duda, pregunta, aunque es un tema que se ha tratado en diversas ocasiones y encontrarás información amplia si usas las búsquedas de clubdelphi. |
#9
|
||||
|
||||
Claro, buscar antes de preguntar, y si me imagino que debe ser un tema recurente... pues manos a la obra, y muchas gracias nuevamente Casimiro Notevi y CD
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
#10
|
||||
|
||||
Cita:
Con un backup/restore la BD queda como nueva Con ese servidor que tienes verás como el rendimiento que consigues será bastante importante. |
#11
|
||||
|
||||
Cita:
¿saca provecho realmente a los 4? Cita:
Podes configurar el motor de diferentes maneras para graduar la manera y frecuencia de la recolección de este espacio, de manera que sea el óptimo para tu caso particular. Lee el artículo dabase housekeeping, que te dará una panorámica del tema. Te envié un privado, no es que sea secreto... pero prefiero que no haya reporteros en el aeropuerto al llegar, jajajaja
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate Última edición por jachguate fecha: 11-11-2011 a las 21:51:21. |
#12
|
||||
|
||||
El tema de la "basura", no suele ser problema, en un uso normal ni siquiera se notará. Por eso digo que no es problema, o al menos nunca me he encontrado que sea un problema en ningún caso.
También es cierto que además de los backups diarios, cada semana (cómo mínimo) tenemos programado un backup/restore de la BD (habitualmente los sábados por la noche o domingos, según el cliente), por lo que queda "limpia" para empezar a trabajar de nuevo con ella. |
#13
|
||||
|
||||
Cita:
En una aplicación que ha seguido recomendaciones como realizar transacciones cortas, con el menor niveles de aislamiento necesario, no tendría por qué ser problema, pero... he visto casos!! ufff...
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#14
|
||||
|
||||
Pues sí, tan sólo hay que tener un poquito de cuidado con lo que hace
|
#15
|
||||
|
||||
Acid
Efectivamente, mi duda respecto a la basura, se basó en este articulo ahi se mencionan las popiedades que comenta Jachguate, queda el enlace por si a alguien le sirve.
Mi preocupacion surgia porque un Backup/Restore se me tarda un promedio de 4hrs, pero pretendo generar una BD con tablas de acumulados, sobre esta ideologia, no afectaria mucho hacer un Backup/Restore, ya que seria relativamente pequeña, o eso espero ; pero primero lo de Linux
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Google compra más empresas !! ... como lo hacen ? | gluglu | Noticias | 4 | 14-04-2007 23:07:15 |
Adopcion de SOA se duplicara en empresas en los proximos dos años. | Epachsoft | Noticias | 7 | 09-04-2007 04:24:22 |
Listado de empresas | DarKraZY | La Taberna | 0 | 10-11-2006 15:16:50 |
Bloquean el acceso a Internet en empresas españolas | Sasuke_Cub | Noticias | 0 | 17-05-2006 17:46:14 |
Progama para varias empresas | halcon_rojo | Varios | 7 | 06-04-2006 15:13:27 |
|