Lentitud de respuesta


([N1] Lukin) #1

Hola buenas,
Hola

Desde que he descubierto velneo llevo intentando descubrir sus virtudes y sus defectos día a día haciendo una pequeña base de datos. Como es normal soy N1 y trabajo conectándome a la nube y una de mis primeras impresiones es que es muy lenta la respuesta. Me choca después de leer tanto sobre su rapidez y lo achaco precisamente a eso, a estar tirando de la nube.

Quiero creer que con un servidor local todo irá mucho más rápido y una consulta con 5 registros no tardará 3 segundos en realizarla tal y como me pasa ahora.

¿Que me decis? ¿Es todo tan rápido como se cuenta?


([N1] wikan) #2

Buenas,
¿que conexión tienes?
La base de datos en muy rápido, pero también depende del entorno.
Conexión,
Tipo de búsqueda,
Donde la realizas
Que muestras


([N1] Pepeto) #3

Como indica @manuel.rd.gmail , la base de datos va muy bien, pero el rendimiento no solo depende de la base de datos, depende tambien de otras muchas cosas.

Ademas de lo que indica Manuel, influyen otras muchas cosas,
....
Realizas filtros antes de mostrar el resultado?

En la nube no he realizado pruebas ultimamente con muchos registros, pero en local puedo asegurar que 10,000 o 15,000 que es una busqueda frecuente y muestra el resultado en menos de 1 segundo (es instantaneo, asi que no he medido el tiempo, porque no merece la pena).

un saludo.
José Luis
http://www.ascsl.com


([N4] spereira) #4

Hola
Tambien tarda bastante en cargar formularios, contra mas pestañas mas tarda en cargar (aunque estas pestañas no contengan datos).

Un saludo.


([N1] Lukin) #5

Hola

como norma general no tarda una barbaridad, casi puedo ver cómo va rellenando el contenido de los campos a mostrar.

Ahora sólo tengo registros de prueba para ver la funcionalidad y como mucho serán 30. La consulta que he realizado ha sido cambiar un campo de una tabla condicionado al check de otra mediante un evento en el que tengo un cargar lista/ recorrer lista lect escritura para buscar la ficha correcta y en caso de ser la correcta modificar dicho campo. Esta consulta con 5 registros no más en cada una de las tablas, le cuesta 3 segundos a groso modo, de ahí mis inquietudes de qué pasará cuando las tablas tengan 80k registros.


([N1] aztecmexico) #6

Algo debes tener que te retrasa tanto, tengo una aplicación a modo de prueba que puedes acceder en:

vatp://v7cloud6.velneo.com:7356
demo
demo

Está montada en el cloud de Velneo, en total tiene poco más de 19,000 registros.
Si haces las consultas generales de cada opción te daras cuenta que es casi inmediato, la consulta de partidas por ejemplo, creo que tiene poco más de 2000 registros y en mi caso que estoy en Mexico tarda un segundo a lo mucho en mostrar la rejilla, en la de fracciones, que son poco más de 16000 registros si se tarda como 30 segundos en mostrarme la rejilla.

La consulta de vista integral me tarda como 2.8 segundos, pero ahi hace varios procesos para sincronizar 5 rejillas.

Creo que los tiempos, salvo la última consulta son bastante aceptables, vamos, creo que hasta mejores que en muchos sitios web, pero habrás de hacer tus protocolos de prueba y error para ver que es realmente lo que te ralentiza tanto.

En cuanto a los formularios, como bien menciona spereira, tarda un poco más que lo que se consideraría deseable, pero si no tienes tantas pestañas pues creo que es aceptable, cuestión de velocidades de los enlaces, porque en LAN o WAN las pruebas que he realizado son más que aceptables.

Tengo un ADSL a 2mb de Telmex asincrono.

Un saludo.

Martin Ibarra.


([N1] Synetic) #7

También debes tener en cuenta que hay objetos que si los usas en formularios es posible que te los ralentice, por ejemplo variables en disco o campos de tablas de enlace a hermanos.

Saludos,
Fernando.


([N1] comercial) #8

Hola, ¿ de verdad crees que esperar medio minuto por una rejilla de datos es aceptable ?. Eso se lo digo yo a mis clientes y me cortan algo. :-).


([N4] mperez) #9

En local todo te irá mas rápido, especialmente si no esta bien tu programa, el local lo arregla y suaviza todo

Al igual que internet aumenta y multiplica muchos errores.

Pero en cualquier caso no es normal, repasa y compara tu rendimiento con el de otras Open Apps o con el programa de MArtin.


([N1] aztecmexico) #10

Comercial.arhes2000, gracias por tu observación.

Cuando digo

Creo que los tiempos, salvo la última consulta son bastante aceptables, vamos, creo que hasta mejores que en muchos sitios web, pero habrás de hacer tus protocolos de prueba y error para ver que es realmente lo que te ralentiza tanto.

Me refiero precisamente a que 30 segundos para mostrar la rejilla, independientemente de que sean tantos (o tan pocos, depende del caso) registros NO es aceptable.

Sin embargo eso lo tengo solo como pruebas precisamente para medir el rendimiento y no ir a montarle una consulta de ese tipo a un cliente final.

Ahora, no recuerdo haber utilizado ningún sistema web que muestre tal cantidad de registros, la verdad sería una locura, ya que si con unos pocos cientos se tardan ese mismo tiempo, imaginate.

Lo que si he visto es que en consultas donde los resultados son mayores a "X" cantidad de registros, de inmediato se genera una excepción y te mandan un mensaje del tipo "Demasiados resultados para su consulta, refine su búsqueda", y san se acabó, no te muestra nada o en su defecto cortan las listas y solo te muestran los primeros 50 o 100 resultados, y, cabe hacer mención, para eso se tardan de 5 a 10 segundos y nadie dice nada (de los que yo conozco).

Quizás sea que nos acostumbramos a que como en local y sin tanto hardware velneo ofrece buenos resultados, luego esperamos eso mismo en cloud, algunas veces sin considerar que todos los factores externos no los controla velneo (latencias principalmente), ahí entra el que apliquemos todas las recomendaciones para optimizar lo más posible nuestras aplicaciones.

Procuraré ser más cuidadoso al momento de redactar mis comentarios para evitar que se entiendan cosas distintas de lo que en realidad deseo expresar.

Un saludo.

Martin Ibarra.


([N1] Lukin) #11

Hola, gracias por vuestros comentarios

he ido probando a quitar lineas de código y el responsable de la tardanza es el comando "recorrer lista lectura/escritura". Si lo quito la consulta es instantánea, pero claro, no me realiza la función que quiero y si lo pongo aún con sólo 1 registro me tarda mucho.

Seguiré probando cosas a ver si encuentro otra forma de hacerlo que se tiene que poder.

Gracias de nuevo


([N1] Giuseppe::Komenco) #12

Qué tarea es la que realizas, que aún con un registro tarda mucho?


([N4] mperez) #13

Creo que deberías explicarte un poco más, pues me da la sensacion de que estas haciendo algo que no tiene sentido con esa instrucción.

¿Para qué usas el Recorrer lista? Que es lo que quieres hacer con ese comando y donde, no parece que tenga mucho sentido

De hecho repasando tu email inicial he leido
"cargar lista/ recorrer lista lect escritura para buscar la ficha correcta y en caso de ser la correcta modificar dicho campo"

Creo que estas por uncamino totalmente equivocado.

Lo normal es crear un indice , por ejemplo condicionado y acceder directamente a ese registro con el check.

Es decir lees directamente ese único registro o los que cumplen esa condicion, el indice solo apuntara a ese registro si lo defines bien, de lo contrario estas realizando una lectura secuencial, si es así es un sinsentido, aunque puedo haber entendido mal.

Leer en una tabla de 1 millon de registros, los que tengan el check y cambiarlos, suponiendo que fueran 10, es inmediato.

Hacer lo mismo leyendo el millón de registros, es .....


([N2] bannu) #14

Creo haber entendido, que recorre la lista y va comparando registro a registro hasta dar con el adecuando, vamos un filtro manual, así es normal que tarde tanto, Lo que tienes que hacer es una búsqueda por el índice adecuado para localizar la ficha que quieras.


([N1] Lukin) #15

Este es el evento que he creado, ya supongo que no es una manera muy optima por los resultados obtenidos pero no he sabido de otra manera

[attachment=22342,1735]

Tal como dice sonovision así lo he hecho:
-Cojo el num_bastidor del vehículo que quiero traer de vuelta del taller (estoy en un evento de fomulario de vehiculos) y lo guardo en una variable
-El check de dicho vehículo que me indica que está averiado lo desmarco
-Cargo todos los vehículos que tengo en el taller
-Recorro la lista buscando el que coincide con el num_bastidor que tengo en la variable
-Cuando lo encuentro pongo cual ha sido su fecha de salida del taller con la fecha actual

Pues no se hacerlo de otra manera


([N1] Synetic) #16

Tendrías que añadir a la tabla TALLERESS un índice formado por el campo NUM_BASTIDOR (entiendo que el bastidor es único, así que índice de clave única).
- Cargar lista que realizas, en vez de por el índice ID lo haces por el índice que has creado y primer parámetro el campo NUM_BASTIDOR.
- Seleccionar lista por posición: 1
- Modificar ficha seleccionada.
- Modificar campo: FECHA_DE_SALIDA -> CurrentDate()

Prueba de esta forma.
Saludos.
Fernando.


([N1] Lukin) #17

MUCHISÍSIMAS GRACIAS!!

Esta vez sí. No ha sido a la primera pq en la fórmula de resolución igualaba el campo num_bastidor a la variable num_bas para que seleccionara esa ficha ( yo, erre que erre jeje )

exactamente como has dicho Fernando.

Muchas gracias a todos

pongo foto, quizás a alguien le pueda ayudar

[attachment=22346,1736]