Guía de operaciones de QPID

La versión 4.52.01 de Edge para la nube privada se envía con el agente Qpid 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 de uso 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, Message Processor 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, Rating Server (parte del servidor de administración) lee los mensajes. Una vez leídos, los mensajes en lotes se desagrupan 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 (estadísticas o monetización). En casos extremos, esto puede cambiar de forma significativa el tamaño de un solo mensaje y el mensaje por lotes general en Qpid. Si bien las recomendaciones generales sobre memoria y disco que aparecen en las siguientes secciones son válidas incluso en esos casos, es posible que debas realizar ajustes adicionales a Qpid para garantizar operaciones fluidas.

Memoria

El agente de Qpid usa dos tipos de memoria: la memoria fuera del montón y la del montón. Qpid almacena mensajes en la memoria fuera del montón y usa la 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 mantener una proporción de 3:1 entre la memoria fuera del montón y la del montón para el agente de Qpid.

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

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

  • Configuración de la memoria de 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 configuraciones.

Si deseas obtener más información, consulta 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 conjunto. Para obtener el mejor rendimiento, elige un dispositivo que tenga baja latencia y que no lo usen otras aplicaciones.

El agente de Qpid conserva sus mensajes en el directorio de datos. De forma 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, haz lo siguiente:

  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 de 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