Edge for Private Cloud version 4.54.00 est fourni avec Qpid Broker-J 10.0.1. Cette
page décrit
les considérations relatives à la mémoire et au disque pour
le apigee-qpidd composant d'Edge for Private Cloud (avec un broker basé sur Java).
Les sections ci-dessous s'appliquent spécifiquement au cas d'utilisation de Qpid par 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 :
- Analytics
- Monétisation
Dans ces deux workflows, le processeur de messages génère des messages, qui sont collectés par lots et envoyés à Qpid. Pour Analytics, les messages sont lus par Qpid-server. Pour la monétisation, ils sont lus par le serveur de tarification (qui fait partie du serveur de gestion). Une fois lus, les messages par lots sont dégroupés et ingérés.
Configurations recommandées
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 serait d'environ 100 Ko. Apigee permet aux proxys de modifier et d'ajouter des informations supplémentaires à un message (Analytics ou monétisation). Dans les cas extrêmes, cela peut modifier considérablement la taille d'un seul message et du message par lots global 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 effectuer des ajustements supplémentaires dans Qpid pour garantir le bon fonctionnement.
Mémoire
Qpid Broker utilise deux types de mémoire : la mémoire hors tas et la mémoire tas. Qpid stocke les messages dans la mémoire hors tas et utilise la mémoire tas pour ses propres tâches internes, les messages directs vers les files d'attente et les échanges, etc. Dans la plupart des cas, Apigee vous recommande de conserver un rapport de 3:1 entre la mémoire hors tas et la mémoire tas pour Qpid Broker.
Les messages dans la mémoire hors tas sont conservés sur le disque. De plus, si l'utilisation totale de la mémoire hors tas dépasse un certain seuil, Qpid est configuré pour déborder les messages sur le disque.
Par défaut, Apigee calcule la mémoire tas et 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 logicielle combinée de 4 Go pour la mémoire tas et mémoire hors tas de Qpid Broker. Si vous souhaitez remplacer ces limites, vous pouvez utiliser les deux configurations ci-dessous pour définir vos propres valeurs pour la mémoire tas et la mémoire hors tas de Qpid.
- Configuration pour la mémoire tas :
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m - Configuration pour la mémoire hors tas :
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
Pour savoir comment remplacer des configurations, consultez Modifier une configuration Qpid pour information.
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 Qpid Broker 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 hébergeant le répertoire de données sont essentielles pour les performances du broker dans son ensemble. Pour des performances optimales, choisissez un appareil à faible latence et qui n'est pas utilisé par d'autres applications.
Qpid Broker conserve ses messages dans le répertoire de données. Par défaut, le broker 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 indiquée dans l'exemple ci-dessous sur chaque nœud Qpid.
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
Dans cet exemple, le broker rejette les nouveaux messages lorsque le système de fichiers sous-jacent est rempli à 60 %
Modifier une configuration Qpid
Pour modifier une configuration Qpid :
- Créez ou modifiez le fichier suivant :
$APIGEE_ROOT/customer/application/qpidd.properties
- Ajoutez, supprimez ou modifiez la configuration si nécessaire.
Par exemple, pour modifier la mémoire tas maximale de Qpid Broker à 6 Go, ajoutez le remplacement de configuration
suivant dans le fichier :
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Enregistrez les modifications et assurez-vous que le fichier appartient à l'utilisateur
apigeeet qu'il peut le lire :chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Redémarrez le processus
qpidd:apigee-service apigee-qpidd restart