![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
seguramente estás usando la versión superserver, prueba con la classicserver y nos cuentas qué tal
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Cita:
Cual es mas o menos la Dif entre uno y otro, por que cres que esto prodria corregir este problema. Gracias ![]() |
|
#3
|
||||
|
||||
|
echa un vistazo a este enlace, quizás te sirva.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Hola,
Podrían comentar detalles de este problema ?. Tengo un problema similar que ya tiene mucho tiempo y sobre el cuál he venido trabajando un poco a ciegas, manejando las cosas a punta de prueba y error. El escenario es el siguiente : Tengo una aplicación, con un web server que es servidor ISAPI basado en WebBroker y un cliente Indy 8, ambos desarrollados inicialmente en Delphi 4, con BDE e Interbase 6, y Omnisecure como servidor. Ese era un escenario prototipo para pruebas ya que al final estaremos con Oracle 10 (no lo tenemos aún disponible) y probablemente IIS Las pruebas iniciales en ese escenario trabajaron bien. Luego, por varios motivos, pasamos el escenario de pruebas a Delphi 2007 con dbExpress e Indy 10, y empezaron los problemas. Concretamente, hay un problema de concurrencia, y esta aplicación si requiere soportar varios hilos simultáneos, por lo que el problema es preocupante. Siguiendo algunos concejos, finalmente pasé a Firebird 2.0.3 SuperServer; pero el problema de concurrencia continúa. He aquí mis últimas pruebas: 1. Los hilos generados para ISAPI por la tecnología Webbroker parecen estar funcionando bien. 2. Cuando se accesa la Base de Datos, y los hilos son más o menos independientes (o sea, poco riesgo de que algunas operaciones colisionen), todo parece funcionar bien. 3. Cuando dos hilos accesan la Base de datos y sus operaciones internas trabajan frecuentemente sobre las mismas tablas, la aplicación se cuelga 4. Vale anotar que todo esto ocurre en un escenario de solo consulta; luego no existe la posibilidad de que una modificación en la Base de Datos pueda generar los problemas. Estaba en camino de elaborar programas de prueba para analizar mejor el último caso, cuando me encontré este hilo que me hace suponer que definitivamente si hay problemas a nivel de las herramientas cuando se accesan simultáneamente las mismas tablas. Aquí me aplican un par de preguntas: 1. El problema es el motor (interbase, firefird) ? 2. El problema es el driver dbExpress ?. Yo estoy usando el que viene para Interbase, supuestamente debería servir para Firebird. Mucho agradecería si alguién pudiera documentar claramente esta situación. |
|
#5
|
||||
|
||||
|
resp
Me parece que el problema lo tienes en la configuracion de las transacciones. O estas usando el suwt wait o noreadversion.
Por que si tienes configurado ReadVersion,commited,nowait. Es servidor no se que da esperando por que otra transaccion termine. Es mas si es un simple y mortal select menos qu emenos te daria ploblema. Con decirte qeu si configuras bien las transacciones no veras jamas ni el gfamoso abrazo mortal (deadlock). Ya que la data afecta sera la ultima guarda asi se ejecuten los dos al mismo tiempo. debido a que el procesador solo puede ejecutar un proceso a la ves (atomicamente). Ahora no se si tu equipo tine doble procesador y estas trabajkando con una version d efirebird que tenga soporte para varios procesadores.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
#6
|
|||
|
|||
|
Gracias. Dudas y comentarios
Cita:
Ante todo, muchas gracias por los comentarios. Tengo unas dudas a ese respecto; pero, independientemente de ellas, no veo por qué la configuración de transacciones pueda incidir en mi problema. Resulta que el bloqueo está ocurriendo en consultas. No hay nada que, ni siquiera indirectamente, implique modificar la Base de Datos. No se inicia explícitamente ninguna transacción desde el programa, ni hay riesgo que durante esas pruebas alguien invoque otro proceso que involucre el arranque de una transacción. Lo otro sería que exista algún manejo automático de transacción por parte del motor o el driver; pero si es así, escapa a mis conocimientos al respecto. Eso me conduce a la dudas que mencioné. Los parámetros de configuración a que te refieres no los encuentro, ni a nivel del servidor vía IBOConsole ni a nivel del componente TSQLConnection de dbExpress. Como los configuras ?. Yo pensé que eran manejo automático de dbExpress. Acaso es necesaria una herramienta distinta a IBOConsole ?. Esa parte me interesa porque aún no hemos empezado pruebas intensas sobre transacciones. Muchos gracias por todo Última edición por rolandoj fecha: 07-03-2008 a las 22:08:49. Razón: Resaltar importancia de un comentario |
|
#7
|
||||
|
||||
|
Nop, no es el Firebird... yo ya pasé por estas mismas, y no es el firebird ni las transacciones el problema, sino los componentes que usas para conectarte... el mismo problema tendrán quienes quieran montar una web con estos, en cuanto dos usuarios solicitan información al mismo tiempo el servidor se bloquea.
Generalmente ni IBO, ni IBX, ni FIBPlus estan pensados para trabajar con multiples hilos en paralelo usando sus mismos recursos... los únicos componentes que encontré que funcionan bien en ese ambiente son los UIB son los únicos ThreadSafe que conozco. Cita:
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..." |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Indy y Threads | PeLuCa | Internet | 20 | 13-01-2011 00:42:21 |
| Threads y transacciones | anduj | Conexión con bases de datos | 5 | 12-07-2005 20:31:40 |
| problemas con threads dentro de un componente | elcigarra | OOP | 26 | 26-05-2005 04:29:35 |
| Threads sobre Componentes | NeWNeO | Varios | 6 | 05-07-2004 15:43:17 |
| Manejo de threads en Delphi | dmasson | Varios | 3 | 16-04-2004 15:22:58 |
|