Guía de operaciones de QPID

La versión 4.52.02 de Edge para la nube privada se envía con Qpid Broker-J 8.0.6. En esta página, se describen las consideraciones de memoria y disco para el componente apigee-qpidd de Edge para la nube privada (con agente basado en Java). Las siguientes secciones se aplican específicamente al caso práctico de Qpid de Apigee y explican cómo ajustar Qpid con los mecanismos de configuración de Apigee.

Qpid en Apigee

En Apigee, Qpid se usa en dos flujos de trabajo principales:

  • Análisis
  • Monetización

En ambos flujos de trabajo, el procesador de mensajes genera mensajes, que se recopilan en lotes y se envían a Qpid. En el caso de Analytics, Qpid-server lee los mensajes. En el caso de la monetización, el servidor de clasificación (parte de management-server). Una vez leídos, los mensajes agrupados se desagrupan por lotes y se transfieren.

En las siguientes secciones, se describen las configuraciones recomendadas para la memoria y el disco con Qpid. Estas configuraciones se basan en un tamaño de mensaje único de 2 KB para Analytics o la monetización. Con un tamaño de lote predeterminado de 50, cada mensaje en Qpid sería de aproximadamente 100 KB. Apigee permite que los proxies modifiquen y agreguen información adicional a un mensaje (Analytics o Monetización). En casos extremos, esto puede cambiar significativamente el tamaño de un solo mensaje y el mensaje por lotes general en Qpid. Si bien las recomendaciones generales sobre memoria y disco en las siguientes secciones se aplican incluso en esos casos, es posible que debas realizar ajustes adicionales a Qpid para garantizar operaciones sin problemas.

Memoria

El agente de Qpid usa dos tipos de memoria: la memoria fuera del montón y la memoria del montón. Qpid almacena mensajes en memoria fuera del montón y usa memoria del montón para sus propias tareas internas, mensajes directos a intercambios y colas, etc. En la mayoría de las circunstancias, Apigee recomienda que mantengas una proporción de 3:1 entre la memoria del montón y la fuera del montón para el agente de Qpid.

Los mensajes de la memoria fuera del montón persisten en el disco. Además, si el uso total de la memoria fuera del montón supera un determinado umbral, se configura el Qpid para que desborde mensajes en el disco.

De forma predeterminada, Apigee calcula la memoria del montón y fuera del montón del agente de Qpid en función de la memoria disponible en el nodo. Las secuencias de comandos de Apigee tienen un límite flexible de 4 GB combinado para el montón y la memoria fuera del montón del agente de Qpid. Si quieres anular estos límites, puedes usar las dos configuraciones que aparecen a continuación para definir tus propios valores para la memoria del montón y la memoria fuera del montón de Qpid.

  • Configuración de la memoria del montón: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Configuración de la memoria fuera del montón: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Consulta Cómo cambiar una configuración de Qpid para obtener información sobre cómo anular la configuración.

Para obtener más información, consulta la Referencia de Apache Qpid para memoria.

Disco

El directorio de datos del agente de Qpid es $APIGEE_ROOT/data/apigee-qpidd. Los registros del agente de Qpid se almacenan en $APIGEE_ROOT/var/log/apigee-qpidd.

El rendimiento del sistema de archivos que aloja el directorio de datos es clave para el rendimiento del agente en su totalidad. Para obtener el mejor rendimiento, elige un dispositivo que tenga baja latencia y que otras aplicaciones no usen.

El agente de Qpid conserva sus mensajes en el directorio de datos. De manera predeterminada, el agente aceptará mensajes hasta que el sistema de archivos que aloja el directorio de datos esté lleno en un 80%. Puedes modificar este umbral anulando la configuración que se muestra en el siguiente ejemplo en cada nodo de Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

En este ejemplo, el agente rechaza los mensajes nuevos cuando el sistema de archivos subyacente está lleno en un 60%.

Cómo cambiar una configuración de Qpid

Para cambiar una configuración de Qpid:

  1. Crea o edita el siguiente archivo:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. Agrega, quita o modifica la configuración según sea necesario. Por ejemplo, para cambiar la memoria máxima del montón del agente de Qpid a 6 GB, agrega la siguiente anulación de configuración en el archivo:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
    .
  3. Guarda los cambios y asegúrate de que el usuario apigee sea propietario y pueda leer el archivo:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Reinicia el proceso qpidd:
    Reinicio de apigee-service, Apigee-qpidd