Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2016
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
DataSnap devuelve muy lento consulta a Cliente

Hola Chicos como han estado?


Tengo la oportunidad de Crear una aplicación ClienteServidor con un servidor fuera de mi red utilizando DataSnap sin embargo e notado que al realizar las consultas son muy lenta en obtener los registros aunque sea un simple Select y trayendome solamente 200 registros.

ejemplo en el lado del Servidor DataSnap tengo Internet simetrico 7mb de bajada y 4mb de subida.

Alguien sabe si este comportamiento es normal porque eh creado consulta a la misma base de datos por php y veo que es más rápido retornando los registros.

otra cosa si aumento el BufferKBSize de 32 a 128 podria mejorar? o alguien tiene alguna otra idea?

Saludos

novato_erick
Responder Con Cita
  #2  
Antiguo 03-09-2016
CarlosReyesg CarlosReyesg is offline
Miembro
 
Registrado: ago 2010
Posts: 21
Poder: 0
CarlosReyesg Va por buen camino
Cita:
Empezado por novato_erick Ver Mensaje
Hola Chicos como han estado?


Tengo la oportunidad de Crear una aplicación ClienteServidor con un servidor fuera de mi red utilizando DataSnap sin embargo e notado que al realizar las consultas son muy lenta en obtener los registros aunque sea un simple Select y trayendome solamente 200 registros.

ejemplo en el lado del Servidor DataSnap tengo Internet simetrico 7mb de bajada y 4mb de subida.

Alguien sabe si este comportamiento es normal porque eh creado consulta a la misma base de datos por php y veo que es más rápido retornando los registros.

otra cosa si aumento el BufferKBSize de 32 a 128 podria mejorar? o alguien tiene alguna otra idea?

Saludos

novato_erick
Puedes dar mas detalles.
lo que dices es muy generico
por ejemplo que version de delphi utilizas?
que componentes de base de datos estaas utilizando?
que base de datos utilizas?

las aplicaciones que tenemos en la empresa utilizan Datasnap con FireDac y la base de datos es FireBird
y el servidor esta AWS de Amazon
tememos bastantes registros y usuario tambien son muchos que se conectan hasta el momento no tenemos problemas.
Responder Con Cita
  #3  
Antiguo 09-09-2016
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
hola CarlosReyesg:

Gracias por responder y perdona la tardanza por contestar;

No eh usado FireDac con DataSnap estaba utilizando los componente DBExpress y la version de delphi que uso es XE7 Enterprise y Firebird 2.5.

Pero sinceramente esta lento con estos componentes una simple consulta trayendome en el FASTREPORT demora hasta 15 segundo horrible...

Saludos


novato_erick
Responder Con Cita
  #4  
Antiguo 09-09-2016
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
lee esto

Prueba a leer estos articulos y veras cual es problema. De antemano te digo que hagas lo que hagas no lo vas a solucionar. por que no es problema tuyo, ni error de programcion

Inicial
https://robertocschneiders.wordpress...ability-tests/

Continuacion
https://robertocschneiders.wordpress...-tests-part-2/

Pruebas
http://andremussche.blogspot.com/201...ode-speed.html
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 09-09-2016
CarlosReyesg CarlosReyesg is offline
Miembro
 
Registrado: ago 2010
Posts: 21
Poder: 0
CarlosReyesg Va por buen camino
Cita:
Empezado por novato_erick Ver Mensaje
hola CarlosReyesg:

Gracias por responder y perdona la tardanza por contestar;

No eh usado FireDac con DataSnap estaba utilizando los componente DBExpress y la version de delphi que uso es XE7 Enterprise y Firebird 2.5.

Pero sinceramente esta lento con estos componentes una simple consulta trayendome en el FASTREPORT demora hasta 15 segundo horrible...

Saludos


novato_erick

hola!
en respecto al tema te comento deberías de investigar los componentes FireDac estos están optimizados y están diseñados para la tecnología de DataSnap por embarcadero(IDERA) esto en el servidor.

el el cliente
te aconsejo que utilices el TClientDataSet o TFDMenTable(con este componente es de escribir un poco mas de código en servidor)
también deberías de investigar como harás la comunicación si via TCP/IP o Http, Https

con la version de Delphi XE7 te comento que si existen muchos problemas con Datasnap entre ellas la que mencionas
te aconsejo que utilices la ultima version que 10.1 berlin en esta embarcadero se esforzó por optimizar y hubo cambio de tecnología en la comunicación y ademas mejoro la forma de transmitir la informacion.

saludos
Responder Con Cita
  #6  
Antiguo 10-09-2016
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Hola Chicos...

Cita:
rastafarey

Prueba a leer estos articulos y veras cual es problema. De antemano te digo que hagas lo que hagas no lo vas a solucionar. por que no es problema tuyo, ni error de programcion

Inicial
https://robertocschneiders.wordpress...ability-tests/

Continuacion
https://robertocschneiders.wordpress...-tests-part-2/

Pruebas
http://andremussche.blogspot.com/201...ode-speed.html
Interesante Cada Artículo Gracias rastafarey....

Retomando a:

Cita:
CarlosReyesg:

hola!
en respecto al tema te comento deberías de investigar los componentes FireDac estos están optimizados y están diseñados para la tecnología de DataSnap por embarcadero(IDERA) esto en el servidor.

el el cliente
te aconsejo que utilices el TClientDataSet o TFDMenTable(con este componente es de escribir un poco mas de código en servidor)
también deberías de investigar como harás la comunicación si via TCP/IP o Http, Https
Ya Utilice el componente FireDac con el componente de conexion FDConnection haciendo prueba con FDQuery y la diferencia en cuanto a obtener los resultados de un simple Query con comunicaciòn TCP/IP no estoy utilizando http, https:
Código SQL [-]
  SELECT 
  COD_BARRA,
  NOMBRE,
  DESCRIPCION,
  STOCK,
  STOCK_MINIMO,
  STOCK_MAXIMO,
  GRAVADO,
  PRECIO_COSTO,
  PRECIO_SINIV,
  COALESCE(STOCK * PRECIO_COSTO, 0) AS PCOSTO,
  COALESCE(STOCK * PRECIO_SINIV, 0)AS PVENTA
FROM 
  ARTICULOS WHERE 
  DESACTIVADO = 'N'AND STOCK < ARTICULOS.STOCK_MINIMO
  ORDER BY STOCK

me parecio igual de lento al traerme solamente 250 registro que posee la tabla con esa condición con 14 segundo utilizando FireDAC... mientras que con DBExpress 15 Segundos.

Cita:
con la version de Delphi XE7 te comento que si existen muchos problemas con Datasnap entre ellas la que mencionas
te aconsejo que utilices la ultima version que 10.1 berlin en esta embarcadero se esforzó por optimizar y hubo cambio de tecnología en la comunicación y ademas mejoro la forma de transmitir la informacion.
Vaya como comente Tengo la Versión XE7 Enterprise y solamente me cuesta $2,432.00 Dolares americanos la actualización.... como comento en el post Roberto Schneider las politicas de Embarcadero de Actualización son asi.


Hoy realizé prueba de 3 usuarios conectados al DataSnapServer y para mi sorpresa se bloqueo.


como dice el compañero rastafarey:
Cita:
De antemano te digo que hagas lo que hagas no lo vas a solucionar. por que no es problema tuyo, ni error de programcion
Saludos

Investigaré un poco más.

Saludos Chicos...
Responder Con Cita
  #7  
Antiguo 10-09-2016
CarlosReyesg CarlosReyesg is offline
Miembro
 
Registrado: ago 2010
Posts: 21
Poder: 0
CarlosReyesg Va por buen camino
Cita:
Empezado por novato_erick Ver Mensaje
Hola Chicos...



Interesante Cada Artículo Gracias rastafarey....

Retomando a:



Ya Utilice el componente FireDac con el componente de conexion FDConnection haciendo prueba con FDQuery y la diferencia en cuanto a obtener los resultados de un simple Query con comunicaciòn TCP/IP no estoy utilizando http, https:
Código SQL [-]
  SELECT 
  COD_BARRA,
  NOMBRE,
  DESCRIPCION,
  STOCK,
  STOCK_MINIMO,
  STOCK_MAXIMO,
  GRAVADO,
  PRECIO_COSTO,
  PRECIO_SINIV,
  COALESCE(STOCK * PRECIO_COSTO, 0) AS PCOSTO,
  COALESCE(STOCK * PRECIO_SINIV, 0)AS PVENTA
FROM 
  ARTICULOS WHERE 
  DESACTIVADO = 'N'AND STOCK < ARTICULOS.STOCK_MINIMO
  ORDER BY STOCK

me parecio igual de lento al traerme solamente 250 registro que posee la tabla con esa condición con 14 segundo utilizando FireDAC... mientras que con DBExpress 15 Segundos.



Vaya como comente Tengo la Versión XE7 Enterprise y solamente me cuesta $2,432.00 Dolares americanos la actualización.... como comento en el post Roberto Schneider las politicas de Embarcadero de Actualización son asi.


Hoy realizé prueba de 3 usuarios conectados al DataSnapServer y para mi sorpresa se bloqueo.



como dice el compañero rastafarey:


Saludos

Investigaré un poco más.

Saludos Chicos...


hola
te comento que existe un update para la version que utilizas


puedes revisar también el Release Note
prueba en descargarlo y has las pruebas.

-como consejo te diré que antes de invertir en una nueva version de algún lenguaje de pago
es siempre aconsejable obtener la version trial para realizar las pruebas necesarias.
y con eso tomas la decisión de invertir o no.

para ayudarte con mayor claridad tendría que ver el código del servidor y cliente.
y realizar la prueba.

mira por que no descargas el ISO en version TRIAL de DELPHI 10.1 berlin y lo instalas en una maquina virtual
y has la prueba.

también te aconsejo que actualices a la nueva version de FireBird 3.0 ya que la version anteriores no eran muy buenas en ambiente de internet.
o fuera de redes locales.

si te parece puedes enviármelo por correo


he realizado pruebas en base a tus comentario
en la empresa tememos el servicio en la nube de Amazon
donde tenemos instalado FireBird 3.0
y para obtener 10,000 se tarda 0.45 segundos
esto es relativamente rápido considerando que el servidor esta en estados unidos y me conecto desde mi país El Salvador



saludos
Responder Con Cita
  #8  
Antiguo 10-09-2016
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Los articulos lo dicen bien claro.

Esta es su solucion http://synopse.info/fossil/wiki/Synopse+OpenSource que aparte es de codigo abierto y esta muy bien optimizado.

Y si no me creen lean esto http://synopse.info/forum/viewtopic....d=18831#p18831 para que vean lo que pudo superar mOrmot.

No me crear a mi lean y si aun asi no se convencen hagan pruebas comparen con DataSnap, Remobjects o cualquiera que se les ocurra. Y si aparte se usa una base de datos NoSql, entonces se van a sorprender.

De verdad matense por su propio pulso(Eso quieren decir que hagan ustedes mismo la verificaciones) y veran lo rapido lo escable, y lo eficiente que son estas librerias.

El problema no es la base de datos si no la capa de transporte.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servidor y cliente DataSnap cmfab Varios 9 11-09-2014 16:03:27
Ejemplo de un Cliente/Servidor Datasnap? kaiserilich Conexión con bases de datos 2 30-06-2014 17:21:49
Datasnap en el cliente da error tulio Desarrollo en Delphi para Android 12 10-06-2014 17:28:00
Cliente/servidor o Datasnap u otros jgutti Varios 2 23-12-2010 18:54:21
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 02-10-2007 00:19:44


La franja horaria es GMT +2. Ahora son las 20:58:17.


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
Copyright 1996-2007 Club Delphi