Allocation de mémoire pour les services
À mesure que votre entreprise se développe et que le nombre d'appareils connectés augmente inévitablement, la demande en ressources pour assurer le bon fonctionnement de la plateforme Navixy augmente également. Alors que la puissance CPU et l'espace disque sont alloués selon les besoins sans limitation, la quantité maximale de RAM utilisable est strictement régulée par les configurations système. Ainsi, il peut arriver que la mémoire allouée soit insuffisante et doive être augmentée. Dans cette section, nous indiquerons où trouver les fichiers de configuration requis et comment effectuer les ajustements nécessaires pour optimiser les performances de la plateforme.
Lorsqu'il s'agit de modifier les configurations qui régissent le lancement des services, une prudence extrême s'impose. Faites preuve du plus grand soin et d'attention lors de leur édition afin d'assurer le bon fonctionnement.
Souvenez‑vous ! Des modifications imprudentes de la configuration peuvent entraîner l'inopérabilité complète du service. Avant d'apporter des modifications au fichier de configuration, il est conseillé d'en créer une copie de sauvegarde. Étant donné que la configuration est simplement un fichier texte, vous pouvez le stocker en toute sécurité dans un répertoire séparé ou enregistrer son contenu ailleurs, garantissant ainsi son intégrité et évitant toute perte potentielle.
Services Java
Le backend de la plateforme Navixy se compose de trois services Java. Les configurations par défaut allouent les quantités de RAM suivantes pour chacun d'eux :
API-server - 1024 Mb
SMS-server - 512 Mb
TCP-server - 1024 Mb
Cette quantité de mémoire est suffisante pour un fonctionnement stable de la plateforme avec jusqu'à plusieurs milliers d'appareils enregistrés. Toutefois, si vous constatez une instabilité de la plateforme, telle que des requêtes API lentes, une génération de rapports longue ou des problèmes de traitement des données des traceurs, augmenter la quantité de mémoire allouée peut être une solution. Ci‑dessous, nous verrons où trouver les configurations qui spécifient cette valeur, selon la manière dont la plateforme est déployée.
Il est recommandé de spécifier la quantité de mémoire allouée comme un multiple de 1024. La valeur est spécifiée séparément pour chaque service.
Linux - services systemd
Pour les versions actuelles de la plateforme (à la fois celles récemment installées et celles qui ont reçu les dernières mises à jour), systemd est utilisé comme gestionnaire de démarrage des services. Les configurations de démarrage se trouvent dans les répertoires des services aux chemins suivants :
/home/java/api-server/api-server.service.env/home/java/sms-server/sms-server.service.env/home/java/tcp-server/tcp-server.service.env
À l'intérieur de chaque fichier, il y a une ligne telle que MAX_HEAP_SIZE="1024m". Spécifiez la quantité de mémoire que vous souhaitez allouer au service en mégaoctets. N'oubliez pas de conserver la lettre m qui signifie mégaoctets.
Redémarrez la plateforme ou le service spécifique pour appliquer les modifications.
Linux - services runit
Si vous choisissez de ne pas basculer vers systemd lors de la mise à jour de votre plateforme vers la dernière version (cette option est proposée lors des mises à jour automatiques), ou si vous utilisez une ancienne version de la plateforme Navixy On‑premise, les services Java utilisent runit comme superviseur de services. Il possède également ses propres fichiers de configuration, situés aux chemins suivants :
/etc/sv/api-server/run/etc/sv/sms-server/run/etc/sv/tcp-server/run
Parmi les paramètres à l'intérieur de chaque fichier, vous trouverez une valeur Xmx — il s'agit de la quantité maximale de mémoire qui peut être allouée pour le service Java correspondant. Le paramètre complet ressemble à ceci : -Xmx1024m - cela signifie que 1024 Mb de RAM sont alloués au service. Modifiez cette valeur et indiquez ce qui est nécessaire, puis enregistrez le fichier.
Redémarrez la plateforme avec la restart-navixy commande pour appliquer les modifications.
Linux - instance dockerisée
Dans la version dockerisée de la plateforme, l'allocation de mémoire est définie lors du déploiement des conteneurs - lorsque la docker compose up -d commande est exécutée. Il s'agit d'une étape obligatoire lors de l'installation et de la mise à jour d'une instance, mais elle peut être effectuée indépendamment de ces processus.
Bien que les paramètres de base de l'instance soient spécifiés dans le .env fichier, un fichier appelé compose.yaml est utilisé pour configurer le fonctionnement des conteneurs - il se trouve dans le même dossier de travail de l'instance que les autres fichiers système.
Dans ce fichier, vous pouvez voir les différentes sections qui définissent les options de démarrage pour tous les conteneurs. Pour modifier la quantité de mémoire allouée aux api, sms et tcp conteneurs, vous devez trouver les sections correspondantes et ajouter l'option "MAX_HEAP_SIZE=" à la sous‑section environment , par exemple :
Voici un exemple de la façon dont cela est fait pour api-server sur une instance existante :

Enregistrez le fichier.
Après application des modifications, exécutez la commande suivante depuis le répertoire de travail :
Cela recréera les conteneurs en tenant compte des nouveaux paramètres.
Windows - services Wrapper
Les services Java ne sont pas conçus par défaut pour fonctionner sous Windows, c'est pourquoi un logiciel tiers est utilisé pour les activer. Il s'appelle YAJSW (Yet Another Java Service Wrapper) et est conçu pour convertir des fichiers exécutables jar ordinaires en services Windows. Ce logiciel est inclus dans le package de distribution de la plateforme Navixy et est configuré lors de l'installation initiale.
Wrapper n'a pas de répertoire d'installation standard et peut se trouver n'importe où, mais il est généralement placé dans C:\java\wrapper le dossier. À l'intérieur, vous trouverez le dossier \conf qui contient les fichiers de configuration pour les trois services :
wrapper.api-server.confwrapper.sms-server.confwrapper.tcp-server.conf
Au bas de chacun des fichiers de configuration se trouvent les paramètres de démarrage du service, et ils incluent une ligne telle que :
La valeur du paramètre -Xmx1024m signifie que 1024 Mb de RAM sont alloués au service. Modifiez cette valeur et spécifiez la quantité de RAM requise, en conservant la m lettre, puis enregistrez le fichier.
Redémarrez le(s) service(s) pour appliquer les modifications.
MySQL
La base de données est le service le plus gourmand en ressources au sein de la plateforme. Lorsqu'un grand nombre d'appareils exercent une pression sur une mémoire limitée, la base de données peut avoir du mal à traiter toutes les requêtes entrantes. Par conséquent, cela peut entraîner un fonctionnement lent et instable de la plateforme Navixy. Nous recommandons vivement de surveiller les performances de la base de données et, si nécessaire, d'augmenter la capacité de RAM du serveur.
La quantité de RAM allouée à la base de données est une valeur statique qui est spécifiée dans la configuration MySQL. Il est généralement recommandé de conserver cette valeur à 70 % de la quantité totale de RAM du serveur. Par conséquent, si vous augmentez la quantité totale de RAM pour de meilleures performances de la base de données, vous devez modifier la valeur dans la configuration par la suite.
Le fichier de configuration MySQL se trouve au chemin suivant :
Linux :
/etc/mysql/mysql.conf.d/mysqld.cnfWindows :
C:\ProgramData\MySQL\MySQL Server 8\my.ini
Sous la section [mysqld] de cette configuration, vous trouverez le paramètre innodb_buffer_pool_size — il définit la quantité de mémoire allouée à la base de données. Si la taille actuelle est insuffisante, modifiez le paramètre en conséquence (veuillez conserver l'unité de mesure - G pour gigaoctets). Enregistrez le fichier et redémarrez MySQL.
Mis à jour
Ce contenu vous a-t-il été utile ?