Una tabla que tengo en la V6, con 37 campos, 10 indices, 144 Bytes por registro, la migro a la V7. En las dos versiones creo un proceso para importar los datos desde un fichero de texto, en concreto 1032 registros. El resultado es el siguiente:
Vrunner 6.0: 41 seguntos.
Vmotor 6.0: 54 segundos.
V7: 119 segundos.
¿Como es posible esto? ¿Que puedo estar haciendo mal?
No estás haciendo nada mal, lo que sucede es que con Velneo V7 los procesos los estás ejecutando en el cliente –ya que en la versión actual no es posible ejecutarlos en tercer plano- por lo que el número de sockets que se han de generar contra el servidor es mayor que si lo ejecutases en tercer plano, lo que ralentiza su ejecución. Cuando sea posible ejecutar procesos en tercer plano verás cómo mejorará el rendimiento.
Ya he instalado la versión 7.1 en local, y he ejecutado el mismo proceso que tenía para importar ficheros, cambiando "Disparar objeto (Proceso, 1º plano, Ok, RETORNO)" por "Disparar objeto (Proceso. 3º plano: Servidor (síncrono), OK, RETORNO)" y me ha tardado 187 segundos.
Pues parece extraño, el proceso que usas en tercer plano devuelve la lista, es decir, ¿tiene destino el proceso que crea la lista de fichas creadas? Aún asi me parece extraño.
¿Puedes usar el comando ejecutar proceso en vez de disparar?
He realizado una prueba en local utilizando "Ejecutar proceso en tercer plano" y mis resultados son ...
Fichero txt de 3,88 Mb de texto de 35.187 lineas.
Con vClient y proceso en primer plano 35.187 altas : 63 segundos
Con vClient y proceso en tercer plano 35.187 altas : 39 segundos
(Te fijes mucho en los número de altas por segundo ya que mi tabla era más sencilla que la que tu comentas)
He modificado el proceso para que sean dos, uno recoge la ruta del fichero de texto, y esa variable se la mando al segundo que es llamado en 3º plano, una vez que ha importado todo el fichero, muestro el tiempo transcurrido: 102 segundos.
No creo ninguna lista de fichas creadas, porque sólo muestro un mensaje.
He utilizado disparar objeto, por enviar la variable al segundo proceso (ahora podría hacerlo con una función), pero supongo que da lo mismo.
Lo he probado en primer plano 3 veces seguidas, el resultado es: 107, 106, y 102.
Después lo he vuleto a probar en tercer plano, y lo he querido probar tres veces seguidas , importando, borrarndo fichas en lista e importando otra vez, pero siempre que intento borrar fichas en lista, me aborta la operación por tener fichas ocupadas, pero lo he probado dos veces, no seguidas, es decir cargando vDataClien después de reiniciar el servicio de nuevo, y el resultado fue 98 y 99 segundos.
He de cementar también que en los mesajes del servidor, al importar me da el error "Formula 2009-06-19 19:52:21 Error de sintaxis", pero yo no veo ningún error en el proceso.
En lo que respecta a vMap2ProjectAidV7, ¿podrías confirmarnos con qué versión del mismo hiciste la migración? Te lo preguntamos porque hemos probado con la versión 7.1 y la fórmula:
Lamentablemente aún no he sacado el tiempo necesario para ponerme a tope con V7, lo haré pasado el verano.
Pero sigo el Blog y el foro con atención, y no termino de ver clara la respuesta a este tema, V7 casi 3 veces más lento que V6 y tampoco al de post de Jose Luis (Ceesa) sobre el tema de la velocidad de carga de las rejillas.
Agradecería a Velneo cualquier aclaración al respecto.
Efectivamente estos posts de nuestros miembros de la comunidad no son fáciles de reproducir o contestar de una forma cerrada, ya que las condiciones de pruebas están totalmente fuera de laboratorio, con lo que nos cuesta mucho conocer todas las circunstancias. Recomendamos a quien quiera trasladarnos una preocupación en cuanto a este sentido, hacerlo en uno de los servidores de la nube y enviarnos a soporte su dirección de servidor, de esta forma el equipo de soporte podrá responder de una forma más ágil ya que contaremos con la mayoría de la información y una situación muy similar a la vuestra.
Respecto a Velneo 6.x y Velneo V7, comentar que son realmente distintas, V7 es una versión totalmente nueva, rescrita desde cero y usando unas librerías distintas. Esto implica que las comparaciones de rendimiento cambiarán en favor de una u otra en función del caso. Existen algoritmos en Velneo 6.x programados en ensamblador para plataformas windows que obtienen una velocidad realmente buena, por otro lado Velneo V7 tiene una arquitectura mucho más potente y permite aprovechar múltiples cores, entre otras muchas cosas.
Con esto queremos decir que la comparación de las dos plataformas es bastante difícil y puede variar mucho respecto a la prueba que se va a realizar.
Muy a pesar nuestro no podemos hacer como otras compañías que en cada versión no se sabe muy bien porque, dicen que consiguen que los programas vayan un 50% más rápidos ( ¿Tan mal lo habían hecho en la versión anterior? )
Lo mejor es que lo pruebes tu mismo, que te conectes a los servidores en la nube y evalúes la velocidad modificando y probando las aplicaciones.
El mesaje me aparece en el fichero de texto que genera vServer: msg090623.txt, me he acostumbrado a leerlo aquí, porque en la pantalla de vAdmin, si es muy grande se me queda colgado, pero en la pestaña "Mesnajes de Sistema", aparece lo mismo.
He provado a importar sólo 2 lineas, y el mensaje aparece unas 10.000 veces.
En cuanto pueda lo instalo en la nube para que lo probéis, incluso os puedo pasar el mapa de la versión 6.4 que es sólo la tabla, y los datos tampoco ocupan mucho.
También deberías revisar el consumo de memoria con el administrador de tareas de windows por cada importación de registros en el server y el vclient. Notarás también una diferencia grande respecto a V6.