Parámetros recomendados para NIFI y Elasticsearch
Puede ejecutar sus entornos Elasticsearch y NiFi utilizando la configuración por defecto, que proporciona un conjunto mínimo de recursos. Para obtener el mejor rendimiento, ajuste su configuración o utilice los parámetros recomendados para la CPU, la memoria y los recursos del sistema.
Recursos del sistema, huella de memoria y asignación de CPU para Elasticsearch y NiFi
El entorno recomendado (o mínimo) consiste en varios nodos que alojan los pods de Elasticsearch y NiFi. Tras una instalación inicial, por defecto el sistema cuenta con tres pods de Kubernetes de Elasticsearch y un pod de Nifi. Cada pod es un grupo de contenedores Docker con espacios de nombres y volúmenes de sistemas de archivos compartidos.
La configuración mínima de cada pod incluye 6 vCPUs y 10 GB de RAM. En la configuración recomendada, cada uno de los pods tiene acceso a 16 CPUs virtuales y al menos 16 GB de espacio en la pila.
Es posible que determinados recursos deban ajustarse o comprometerse en exceso. Si es así, será necesario realizar pruebas adicionales para confirmar la configuración a fin de garantizar la estabilidad y la operatividad.
Pods | vCPUs/Pod de Elasticsearch | vCPU/Pod de NiFi | Pila de Elasticsearch | Pila de NIFI | |
---|---|---|---|---|---|
Configuración mínima (por defecto) |
3 - Elasticsearch 1- Nifi |
6 | 6 | 12 | 9 |
Configuración recomendada |
3 - Elasticsearch 1- Nifi |
16 | 16 | 16 | 12 |
NiFi
El rendimiento alcanzado en el clúster NiFI/Elasticsearch determina la velocidad con la que se procesan los datos y se crean los índices. Las hebras del procesador NiFi y el tamaño del cubo son dos factores que pueden aumentar y optimizar el rendimiento para una huella de hardware determinada.
Hebras
En NiFi, cada procesador tiene la capacidad de procesar archivos de flujo de forma paralela. Para ello, asigne más hebras al CPU o aumente la variable de trabajos simultáneos por encima de 1. El procesador NLP en la siguiente instantánea está configurado para 16 tareas simultáneas, lo que corresponde a la cantidad de vCPU disponibles en el nodo.
El rendimiento del procesador se mejorará aumentando las hebras del CPU. Las hebras adicionales aumentarían el ancho de banda del procesador por el factor del número de hebras, si el procesador está haciendo procesamiento computacional (es decir, podemos experimentar un escalado lineal).
En el caso de las operaciones de E/S, el procesador experimentará una cierta mejora que empezaría a disminuir a partir de cierto nivel de hebras (es decir, una escalabilidad no lineal que acabaría en saturación).
Tamaño del cubo
Otra opción que se puede cambiar para aumentar el ancho de banda del procesador es el tamaño del cubo (scroll.bucket.size). Al aumentar el tamaño del cubo, se incrementa la cantidad del fragmento de datos que procesará un solo procesador como grupo.
El nombre de la variable para los cambios de tamaño de los cubos no es inmediatamente obvio. En las versiones de HCL Commerce 9.1.6 en adelante, se encuentra en el segundo nivel del grupo de procesadores.
- El nivel superior tiene este aspecto:
- Descienda un nivel, haga clic con el botón derecho y elija "variables":
- Y cambie el valor del tamaño del cubo:
Elasticsearch
Tasa de actualización de los índices
Elasticsearch actualiza los índices cada segundo por defecto, pero solo en los índices que han tenido una o más peticiones de búsqueda en los treinta segundos anteriores. El esquema del índice de comercio fija este periodo en diez segundos por defecto. Sin embargo, si es viable, desactívelo y fije el periodo en -1 o en un tiempo mucho mayor (por ejemplo, en un intervalo de actualización de sesenta segundos).
Para configurar un valor personalizado, siga el flujo de trabajo
Tamaño de almacenamiento intermedio de índice
Los tamaños de almacenamiento intermedio de indexación ayudarán a acelerar la operación de indexación y el aumento de su tamaño mejorará la velocidad de creación de índice general. El valor se establece en la variable indices.memory.index_buffer_size y normalmente se establece en el 10 % del tamaño de la pila OTB.
Es aconsejable fijarlo más alto, al 20 % del tamaño de la pila.
Para obtener más información sobre los intervalos de actualización de la indexación de Elasticsearch, consulte la Guía de Elasticsearch.