Guide d'utilisation du QPID

Edge for Private Cloud version 4.52.02 est fourni avec Qpid Broker-J 8.0.6. Cette page décrit les considérations relatives à la mémoire et au disque pour le composant apigee-qpidd d'Edge for Private Cloud (avec l'agent Java). Les sections ci-dessous s'appliquent spécifiquement au cas d'utilisation Qpid d'Apigee et expliquent comment régler Qpid à l'aide des mécanismes de configuration d'Apigee.

Qpid dans Apigee

Dans Apigee, Qpid est utilisé dans deux workflows principaux:

  • Analyse
  • Monétisation

Dans ces deux workflows, le processeur de messages génère des messages, qui sont collectés en lots et transférés vers Qpid. Pour Analytics, les messages sont lus par Qpid-server ; pour la monétisation, ils sont lus par Rating Server (qui fait partie de management-server). Une fois lus, les messages par lot sont retirés et ingérés.

Les sections suivantes décrivent les configurations recommandées pour la mémoire et le disque avec Qpid. Ces configurations sont basées sur une taille de message unique de 2 Ko pour Analytics ou la monétisation. Avec une taille de lot par défaut de 50, chaque message dans Qpid ferait environ 100 Ko. Apigee permet aux proxys de modifier un message et d'y ajouter des informations (analyse ou monétisation). Dans des cas extrêmes, cela peut modifier considérablement la taille d'un seul message et du message global par lot dans Qpid. Bien que les recommandations générales concernant la mémoire et le disque dans les sections ci-dessous restent valables même dans de tels cas, vous devrez peut-être apporter des ajustements supplémentaires à Qpid pour assurer le bon déroulement des opérations.

Mémoire

Qpid Broker utilise deux types de mémoire: la mémoire hors tas de mémoire et la mémoire du tas de mémoire. Qpid stocke les messages dans la mémoire hors tas de mémoire et l'utilise pour ses propres tâches internes, pour envoyer des messages directs aux files d'attente et aux échanges, etc. Dans la plupart des cas, Apigee recommande de conserver un ratio de 3:1 entre la mémoire hors tas de mémoire et le tas de mémoire pour Qpid Broker.

Les messages de la mémoire hors tas de mémoire sont conservés sur le disque. De plus, si l'utilisation totale de la mémoire hors tas de mémoire dépasse un certain seuil, Qpid est configuré pour faire déborder les messages sur le disque.

Par défaut, Apigee calcule la mémoire du tas de mémoire et de la mémoire hors tas de Qpid Broker en fonction de la mémoire disponible sur le nœud. Les scripts d'Apigee ont une limite flexible de 4 Go combinées pour le tas de mémoire et la mémoire hors tas de Qpid Broker. Si vous souhaitez ignorer ces limites, vous pouvez utiliser les deux configurations ci-dessous pour définir vos propres valeurs pour le tas de mémoire de Qpid et la mémoire hors tas de mémoire.

  • Configuration de la mémoire du tas de mémoire : bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Configuration pour la mémoire hors tas de mémoire : bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Consultez la section Comment modifier une configuration Qpid pour en savoir plus sur le remplacement des configurations.

Pour en savoir plus, consultez la documentation de référence Apache Qpid pour la mémoire.

Disque

Le répertoire de données de l'agent Qpid est $APIGEE_ROOT/data/apigee-qpidd. Les journaux de Qpid Broker sont stockés dans $APIGEE_ROOT/var/log/apigee-qpidd.

Les performances du système de fichiers qui héberge le répertoire de données sont essentielles aux performances d'Broker dans son ensemble. Pour des performances optimales, choisissez un appareil présentant une faible latence et qui n'est utilisé par aucune autre application.

Qpid Broker conserve ses messages dans le répertoire de données. Par défaut, l'agent accepte les messages jusqu'à ce que le système de fichiers hébergeant le répertoire de données soit rempli à 80 %. Vous pouvez modifier ce seuil en remplaçant la configuration présentée dans l'exemple ci-dessous sur chaque nœud Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

Dans cet exemple, l'agent rejette les nouveaux messages lorsque le système de fichiers sous-jacent est plein à 60 %.

Modifier une configuration Qpid

Pour modifier une configuration Qpid:

  1. Créez ou modifiez le fichier suivant :
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. Ajoutez, supprimez ou modifiez la configuration selon vos besoins. Par exemple, pour définir la mémoire maximale du tas de mémoire de Qpid Broker sur 6 Go, ajoutez le remplacement de configuration suivant dans le fichier :
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Enregistrez les modifications et assurez-vous que l'utilisateur apigee possède le fichier et peut le lire :
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Redémarrez le processus qpidd:
    redémarrage apigee-service apigee-qpidd