¿Cómo Puedo Mejorar el Rendimiento de Citadel en mi Aplicación?



Software Primario: LabVIEW Modules>>LabVIEW DSC Module
Versión de Software Primario: 1.0
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:
Estoy trabajando en una aplicación en la cual estoy leyendo y almacenando un gran número de trazos.  ¿Existe alguna manera de mejorar el rendimiento de Citadel en mi aplicación?

Solución:
Existe una llave de registro llamada maxIndexViews.  El valor de maxIndexViews determina el número máximo de bloques de índices que cada base de datos es capaz de almacenar.

Un incremento de la llave maxIndexViews implicará un mayor uso de memoria.  Cada vista utiliza 64kB.  Para un mejor rendimiento, el número de vistas debe de ser ligeramente mayor al número de accesos rápidos de los trazos.  La manipulación de este valor aumenta el rendimiento debido a que el índice de páginas Citadel se divide en distintos bloques de datos.

Citadel carga en memoria los bloques de índices conforme sean necesarios. Una vez que se alcanza el máximo número de bloques, los bloques que no están siendo utilizados dejan de ser cargados en memoria para hacer espacio a los que lo están requiriendo. El costo de estar cargando y liberando espacios de memoria para estos bloques puede ser significativo, por lo tanto conforme más bloques puedan ser cargados en memoria mejor será el rendimiento de Citadel.

Nota: Incrementar demasiado el valor de maxIndexViews puede ser peligroso para el sistema.  Es importante mantener las limitaciones de su sistema al seleccionar el valor de maxIndexViews.

Win 32 sólo tiene 2 GB disponibles de espacio de memoria para cada aplicación de forma predeterminada, que se puede aumentar a 3 GB como se puede apreciar en la sección Extending Virtual Memory Usage for 32-bit Windows del documento de ayuda de LabVIEW. Además, Citadel requiere que estos bloques sean cargados en bloques contiguos de memoria comenzando en 64kB.  Citadel además carga las páginas de datos en memoria y cada página de datos requiere 4kB de memoria.  Por último, es importante recordar que el valor de maxIndexViews es configurado para cada base de datos.  Por lo tanto, si esta accediendo a múltiples bases de datos desde su aplicación, usted estará cambiando entonces el uso de memoria de todas las bases de datos.

Ligas Relacionadas:
KnowledgeBase 4PMF4H6C: Why Can't I Create a New Citadel Database in MAX?
KnowledgeBase 2Q78G9M9: How Do I View a Citadel Database on a Remote Computer from MAX?
KnowledgeBase 2HDEH9DT: How Much Memory can LabVIEW 32-bit or 64-bit Use?
Product Manual: LabVIEW 2012 Help: Extending Virtual Memory Usage for 32-bit Windows

Archivos Adjuntos:





Día del Reporte: 12/23/2014
Última Actualización: 12/23/2014
Identificación del Documento: 6647SASL