En fonction de vos exigences de trafic et de traitement, vous devrez peut-être modifier la taille de la mémoire de tas ou la taille des métadonnées de classe pour vos nœuds exécutant des composants Private Cloud basés sur Java.
Cette section indique les tailles de mémoire de tas Java par défaut et recommandées, ainsi que la procédure à suivre pour modifier les valeurs par défaut. Enfin, cette section explique comment modifier d'autres paramètres de la JVM à l'aide de fichiers de propriétés.
Tailles de mémoire de tas par défaut et recommandées
Le tableau suivant répertorie les tailles de mémoire de tas Java par défaut et recommandées pour les composants Private Cloud basés sur Java :
| Composant | Nom du fichier de propriétés | Taille du tas par défaut |
Taille de tas recommandée |
|---|---|---|---|
| Runtime (durée d'exécution) | |||
| Cassandra | n/a | Configuré automatiquement1 | Configuré automatiquement1 |
| Processeur de messages | message-processor.properties |
512 Mo | 3 Go à 6 Go2 |
| Routeur | router.properties |
512 Mo | 512 Mo |
| Analytics | |||
| Serveur Postgres | postgres-server.properties |
512 Mo | 512 Mo |
| Serveur Qpid | qpid-server.properties |
512 Mo | 2 Go à 4 Go |
| Gestion | |||
| Serveur de gestion | management-server.properties |
512 Mo | 512 Mo |
| UI | ui.properties |
512 Mo | 512 Mo |
| OpenLDAP | n/a | Application native3 | Application native3 |
| ZooKeeper | zookeeper.properties |
2 048 Mo | 2 048 Mo |
| Remarques | |||
1 Cassandra calcule dynamiquement la taille maximale du tas de mémoire au démarrage. Actuellement, cette valeur correspond à la moitié de la mémoire système totale, avec un maximum de 8 192 Mo. Pour en savoir plus sur la définition de la taille du tas de mémoire, consultez Modifier la taille du tas de mémoire. |
|||
| 2 Pour les processeurs de messages, Apigee vous recommande de définir la taille du tas de mémoire entre 3 Go et 6 Go. N'augmentez la taille du tas au-delà de 6 Go qu'après avoir effectué des tests de performances.
Si l'utilisation du tas de mémoire approche de la limite maximale pendant vos tests de performances, augmentez la limite maximale. Pour en savoir plus sur la définition de la taille du tas de mémoire, consultez Modifier la taille du tas de mémoire. |
|||
| 3 Tous les composants Private Cloud ne sont pas implémentés en Java. Comme elles ne sont pas basées sur Java, les applications exécutées de manière native sur la plate-forme hôte n'ont pas de taille de tas de mémoire Java configurable. Elles s'appuient plutôt sur le système hôte pour la gestion de la mémoire. | |||
Pour déterminer la quantité totale de mémoire qu'Apigee vous recommande d'allouer à vos composants Java sur un nœud, ajoutez les valeurs indiquées ci-dessus pour chaque composant de ce nœud. Par exemple, si votre nœud héberge à la fois les serveurs Postgres et Qpid, Apigee recommande que l'allocation de mémoire combinée soit comprise entre 2,5 Go et 4,5 Go.
Pour obtenir la liste du matériel requis (comme la RAM), consultez Conditions d'installation.
Modifier la taille de la mémoire de tas
Pour modifier les paramètres de mémoire de tas, modifiez le fichier de propriétés du composant. Par exemple, pour le processeur de messages, modifiez le fichier /opt/apigee/customer/application/message-processor.properties.
Si le fichier message-processor.properties n'existe pas, ou si le fichier .properties correspondant pour un composant Edge n'existe pas, créez-le, puis remplacez la propriété du fichier par l'utilisateur "apigee", comme illustré dans l'exemple suivant :
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Si le composant est installé sur plusieurs machines, comme le processeur de messages, vous devez modifier le fichier de propriétés sur toutes les machines qui hébergent le composant.
Le tableau suivant liste les propriétés que vous pouvez modifier pour changer la taille du tas de mémoire :
| Propriété | Description |
|---|---|
bin_setenv_min_mem |
Taille minimale du tas de mémoire. La valeur par défaut est basée sur les valeurs listées dans Tailles de mémoire de tas par défaut et recommandées. Ce paramètre correspond à l'option Java |
bin_setenv_max_mem |
Taille maximale du tas de mémoire. La valeur par défaut est basée sur les valeurs listées dans Tailles de mémoire de tas par défaut et recommandées. Ce paramètre correspond à l'option Java |
bin_setenv_meta_space_size |
Taille des métadonnées de classe par défaut. La valeur par défaut est définie sur la valeur de Ce paramètre correspond à l'option Java |
Lorsque vous définissez des propriétés de taille de tas sur un nœud, utilisez le suffixe "m" pour indiquer les mégaoctets, comme illustré dans l'exemple suivant :
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
Après avoir défini les valeurs dans le fichier de propriétés, redémarrez le composant :
/opt/apigee/apigee-service/bin/apigee-service component restart
Exemple :
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Modifier d'autres propriétés de la JVM
Pour les paramètres Java non contrôlés par les propriétés listées ci-dessus, vous pouvez également transmettre des options ou des valeurs JVM supplémentaires pour n'importe quel composant Edge. Les fichiers *.properties seront lus par Bash et doivent être entourés de '(guillemets simples) pour conserver les caractères littéraux ou de "(guillemets doubles) si vous avez besoin d'une expansion de shell.
bin_setenv_ext_jvm_opts: définissez une propriété Java non spécifiée par d'autres propriétés. Exemple :bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
Toutefois, n'utilisez pas
bin_setenv_ext_jvm_optspour définir-Xms,-Xmxou-XX:MetaspaceSize, car ces valeurs sont contrôlées par les propriétés listées ci-dessus.
Pour obtenir des conseils supplémentaires sur la configuration de la mémoire pour les composants Private Cloud, consultez cet article sur les forums Edge.