Conoce los límites

Límites de tablas y de instancias

Hay un límite de 65.535 tablas por instancia, en definitiva, por proyecto.

Hay un límite total de tablas de 2.147.483.648 en el servidor.

Con los datos anteriores, podemos calcular el número máximo de instancias que podrá soportar Velneo vServer, si hay un límite total de 2.147.483.648 tablas y podemos tener 65.535 tablas por instancia, entonces el máximo de instancias máximo será de 32.768 instancias.

Dimensionamiento de Velneo vServer y limitaciones por sistema operativo

Introducción

En este documento vamos a ver dónde están los límites de Velneo vServer de cara a poner en marcha un nuevo proyecto tanto en cloud como en local.

Descripción

Velneo vServer se encarga de cargar en memoria todas las instancias declaradas cuando arrancamos el servicio vatp.

Esas instancias ocupan un espacio en memoria y además hay que sumar cierto espacio que consumen las cabeceras de cada una de las tablas de cada instancia.

Esto nos da una suma total de memoria mínimo consumida por instancia.

¿Cómo calcularlo?

Para calcular ese número no existe una fórmula matemática, pero sí se puede hacer una aproximación. Para ello debemos seguir los siguientes pasos:

  1. Preferiblemente en una máquina con el mismo sistema operativo que va a tener finalmente el Velneo vServer en producción, iniciar el vServer y comprobar la memoria total utilizada por ese proceso, con las soluciones instaladas. En Windows se puede hacer usando el administrador de tareas y en linux con top, mirando la columna VIRT. A este valor en megabytes lo vamos a llamar N.

  2. Crear una única instancia para la solución que vamos a poner en producción.

  3. Cargamos y mostramos en rejilla los registros de al menos 3 tablas principales, con el número de registros que se estima van a manejar, y nos aseguramos que son cargados en la caché del cliente al menos un 5% de los datos de la tabla, por ejemplo presentando un Informe.

  4. Volvemos a mirar la memoria usada por el proceso vServer. A la diferencia le sumamos un 20% aproximadamente que el vServer necesita para otras gestiones para esa instancia. A este valor en megabytes vamos a llamarlo M. Cuantas más instancias realicemos, más aproximado será el valor que consigamos de M.

¿Dónde está el límite?

Depende de si Velneo vServer es de 32 o de 64 bits.

En el caso de Velneo vServer 64 bits

El límite lo marca el sistema operativo.

En el caso de Velneo vServer 32 bits

Al tratarse de una aplicación 32 bits, hay que tener en cuenta que Velneo vServer tiene un límite de uso de memoria de 2Gb en Windows 32/64 bits, y Linux 32 bits, y de casi 4 Gb en Linux de 64 bits, aunque establecemos uno prudencial de 1,5Gb y 3,0Gb respectivamente. Este será el tamaño S que especifica la memoria que determinamos disponible para instancias y que varía en función del sistema operativo.

Para calcular cuántas instancias como máximo podemos crear en un Velneo vServer podremos hacer el siguiente cálculo aproximativo:

numero instancias = (S - N) / M

Por ejemplo, una máquina Windows, que instalada tiene un valor para N de 150 MB y que la instanciación da un valor M de 5 MB, la fórmula sería la siguiente:

Número de instancias = ( 1500 - 150 ) / 5 = 270

Recomendaciones

Debido a que Velneo vServer necesita más memoria para determinadas labores (tablas en memoria, regeneración de índices, información del servidor, transacciones, enganches, envío de proyectos al cliente etc.), no es conveniente llegar hasta el número máximo de instancias.

Límite de variables alfabéticas y numéricas

Tanto las variables globales(disco y memoria) como las locales, tienen el mismo comportamiento en lo que a capacidad de almacenamiento se refiere.

Las variables alfabéticas tienen una limitación de 2gb (1073741824 caracteres), teniendo en cuenta que 1 carácter son 2bytes al tratarse de cadenas unicode.

En Las variables numéricas el rango máximo es el mismo que el de los campos numéricos: el rango máximo es 10 bytes (Del 0 al 0 al 1.208.925.819.614.629.174.706.176, o con signo del -604.462.909.807.314.587.353.088 al 604.462.909.807.314.587.353.088, con 10 decimales del 0,0000000000 al 120.892.581.961.462,9531250000).

Añadir que a nivel interno en los cálculos numéricos se opera con 34 dígitos significativos, sumando enteros y decimales e incluyendo el 0 y el punto en un número decimal.

Límites del contenedor

El contenedor es un fichero que se genera para tablas que tengan campos objeto.

El límite que tiene un contenedor de una tabla es de 36^5 = 60.466.176 de objetos de cada tipo de objeto (binarios, dibujos, objetos texto, objeto texto enriquecido y fórmula).

El tamaño máximo que puede tener un objeto a incluir en el contenedor es de 512 MB.

Debemos tener en cuenta que tanto para introducir el objeto como para exportarlo, el servidor requerirá 512 MB libres de memoria.

Límite de procesos asíncronos en cola

El número máximo de procesos en 2º plano admitidos en una cola es de 268.435.456.

El número máximo de procesos en 4º plano (se ejecutan en una cola única) es de 268.435.456.

Última actualización