Amélioration des performances de eDirectory sur les systèmes Linux, Solaris, AIX et HP-UX

Les sections suivantes fournissent des informations sur l'amélioration des performances de eDirectory sur des systèmes Linux et UNIX :


Optimisation du serveur eDirectory

Novell eDirectory sous Linux et Solaris utilise une réserve de threads à ajustement dynamique pour répondre aux requêtes des clients. La réserve de threads s'ajuste automatiquement et fournit des performances optimales dans la plupart des cas. Cependant, vous pouvez éviter le retard provoqué par le démarrage des threads en cas de charge soudaine sur le serveur, en configurant les paramètres suivants dans le fichier /etc/opt/novell/eDirectory/conf/nds.conf.

Paramètre Description et paramètres recommandés

n4u.server.idle-threads

Nombre minimum de threads (indépendamment de l'activité).

La valeur de ce paramètre doit être fixée en fonction de la charge moyenne du client, afin de réduire le délai nécessaire à la production de nouveaux threads en condition d'activité normale du client.

n4u.server.max-threads

Nombre maximum de threads.

La valeur de ce paramètre doit être fixée en fonction du nombre maximum de clients qui doivent être pris en charge simultanément, ainsi que des recommandations suivantes :

  • eDirectory requiert 16 threads au minimum.
  • Un thread pour 255 connexions LDAP (thread de surveillance).
  • Un thread pour 4 clients simultanés (thread de travail).

n4u.server.start-threads

Nombre de threads qui démarrent en même temps que eDirectory.

La valeur de ce paramètre doit être fixée en fonction de la charge moyenne du client, afin de réduire le délai nécessaire à la production de nouveaux threads en condition d'activité normale du client.


Optimisation du cache de eDirectory

Novell eDirectory utilise un caching persistant, afin que les modifications apportées à un serveur soient conservées dans un vecteur. Si le serveur se bloque lors de modifications, eDirectory se charge plus rapidement et synchronise les modifications en quelques secondes dès que le serveur a redémarré. Novell eDirectory utilise un modèle de retour à l'état initial avec un fichier journal pour exécuter un repositionnement avec restauration actualisée sur les transactions en cas de défaillance du système.

Les paramètres de eDirectory commencent avec 16 Mo de cache, dont 50 % sont alloués au caching de blocs et le reste au cache d'enregistrement. Après un délai de 15 minutes, eDirectory modifie ses seuils de cache afin d'initialiser jusqu'à 51% de la mémoire disponible pour le cache, en laissant au moins 24 Mo pour le système d'exploitation. Cet algorithme n'est utilisé que si le système d'exploitation de l'hôte prend en charge l'appel qui vous permet de déterminer la quantité de mémoire libre disponible.

Vous pouvez optimiser votre cache eDirectory par les moyens suivants :

Pour plus d'informations sur l'optimisation du cache de eDirectory, reportez-vous à la section Amélioration des performances de chargement par lots.


Utilisation d'une quantité fixe de RAM pour les systèmes Linux et UNIX

Bien que l'algorithme ci-dessus fonctionne correctement avec Windows et NetWare, il n'en va pas de même avec les systèmes Linux et UNIX. Dans les systèmes Linux et UNIX, la mémoire libre disponible indiquée par le système d'exploitation est inférieure à celle des autres systèmes d'exploitation en raison de la manière dont Linux et UNIX utilisent la mémoire libre pour le caching interne des blocs du système de fichiers, l'exécution fréquente de programmes, de bibliothèques, etc. En outre, sous Linux et UNIX, les bibliothèques ne restituent généralement pas au système d'exploitation la mémoire libérée.

C'est pourquoi nous vous recommandons d'allouer une quantité fixe de RAM au cache.

Fixez la quantité de RAM pour les systèmes Linux et UNIX en utilisant l'une des méthodes suivantes :


Création manuelle d'un fichier .ini
  1. Créez un fichier appelé _ndsdb.ini dans le répertoire qui contient déjà les fichiers de la base de données eDirectory (ensemble DIB) ; il s'agit généralement du répertoire /var/opt/novell/eDirectory/data/dib.

  2. Ajoutez au fichier _ndsdb.ini les paramètres listés ci-dessous :

    Paramètre Description

    blockcachepercent=50

    Définit le pourcentage de cache alloué au caching de blocs de base de données.

    cacheadjustinterval=15

    Définit l'intervalle, en secondes, utilisé par eDirectory pour évaluer son utilisation de la mémoire libre et ajuster la taille globale du cache.

    cachecleanupinterval=15

    Définit l'intervalle, en secondes, utilisé par eDirectory pour écrire les blocs de cache altérés sur le disque.

    cache=16777216

    Définit la limite stricte (en octets).


Utilisation de Novell iMonitor
  1. Cliquez sur Configuration de l'agent Bouton Configuration de l'agent.

  2. Cliquez sur Cache de base de données et consultez les informations suivantes :

    Informations sur le cache de base de données Description

    Taille maximale

    Taille maximale (en Ko) que peut avoir le cache spécifié.

    Taille actuelle

    Taille actuelle (en Ko) du cache spécifié.

    Éléments mis en cache

    Nombre d'éléments contenus dans le cache spécifié.

    Anciennes versions mises en cache

    Nombre d'anciennes versions contenues dans le cache spécifié. Les anciennes versions des éléments contenus dans le cache sont conservées par souci de cohérence des transactions de lecture dans la base de données. Autrement dit, si un thread se trouve dans une transaction de lecture et un autre dans une transaction d'écriture, les anciennes versions des blocs modifiés par l'opération d'écriture sont conservées à l'intention de l'utilisateur qui effectue la lecture. Cet utilisateur a ainsi la garantie d'obtenir des résultats cohérents durant toute sa transaction de lecture, même si des modifications sont effectuées dans l'intervalle.

    Taille des anciennes versions

    Taille (en Ko) des anciennes versions des éléments contenus dans le cache.

    Correspondances

    Nombre d'accès réussis à un élément à partir du cache spécifié.

    Recherches des correspondances

    Nombre d'éléments examinés avant un accès réussi à un élément à partir du cache spécifié. Le rapport de recherche de correspondances permet de mesurer l'efficacité de la recherche dans le cache. Normalement, il doit avoisiner 1:1.

    Anomalies

    Nombre de fois où un élément introuvable dans le cache spécifié a dû être obtenu dans un cache de niveau inférieur ou à partir du disque.

    Recherches des anomalies

    Nombre d'éléments examinés avant qu'il soit établi que l'élément voulu ne se trouvait pas dans le cache spécifié. Le rapport de recherche d'anomalies permet de mesurer l'efficacité de la recherche dans le cache. Normalement, il doit avoisiner 1:1.

  3. Choisissez parmi les options suivantes :

    Option Description

    Ajustement dynamique

    Permet à la base de données eDirectory d'ajuster dynamiquement la quantité de mémoire système qu'il convient de réserver au cache, compte tenu des besoins estimés et des paramètres indiqués ci-dessous.

    Pourcentage d'ajustement du cache

    Pourcentage de la mémoire disponible qui peut être utilisé à la fois pour les caches d'enregistrement et de blocs.

    Contraintes de taille de cache

    Lors de l'ajustement dynamique, veillez à respecter les contraintes spécifiées. N'utilisez pas pour le cache une quantité de mémoire inférieure au chiffre indiqué, ni supérieure à la quantité totale de mémoire disponible moins le chiffre indiqué.

    Limite stricte

    Quantité exacte de mémoire système à utiliser pour le cache.

    Taille maximale du cache

    Taille (en Ko) des caches d'enregistrement et de blocs combinés.

    Pourcentage du cache de blocs

    Pourcentage de la mémoire système disponible pour le caching à affecter au cache de blocs. Le pourcentage restant est alloué au cache d'enregistrement.

    Intervalle d'ajustement du cache

    Cet intervalle ne s'applique que si l'ajustement dynamique est activé. Il détermine la fréquence d'ajustement de la taille du cache, en fonction du pourcentage et des contraintes spécifiés.

    Intervalle de nettoyage du cache

    Détermine à quelle fréquence les anciennes versions inutilisées sont supprimées du cache.

    Paramètres de cache permanents

    Lorsque cette option est sélectionnée, toutes les modifications soumises par le biais de iMonitor deviennent définitives et remplacent les paramètres précédemment enregistrés ainsi que les valeurs par défaut du système.

  4. Cliquez sur Soumettre.


Définition des paramètres de cache

Par défaut, eDirectory utilise un cache dynamique. Si vous disposez de suffisamment de mémoire vive pour augmenter la taille du cache eDirectory, vous pouvez considérablement améliorer les performances de eDirectory pour les bases de données volumineuses en allouant plus de mémoire vive au cache eDirectory.

Les paramètres listés dans le tableau suivant peuvent être ajustés en vue d'améliorer les performances de eDirectory :

Paramètre du cache eDirectory Description

blockcachepercent=valeur

Définit le pourcentage de cache alloué au caching de blocs de base de données. La valeur par défaut est 50.

cachecleanupinterval=valeur

Définit l'intervalle, en secondes, utilisé par eDirectory pour écrire les blocs de cache altérés sur le disque. La valeur par défaut est 15.

cacheadjustinterval=valeur

Définit l'intervalle, en secondes, utilisé par eDirectory pour évaluer son utilisation de la mémoire libre et ajuster la taille globale du cache. La valeur par défaut est 15.

cache=valeur

Définit la limite stricte, en octets, de la mémoire que eDirectory peut utiliser pour le caching.

cache=leave:valeur

Indique le nombre minimal d'octets à laisser.

min:valeur

Indique la taille minimale du cache en octets.

max:valeur

Indique la taille maximale du cache en octets.

Selon l'algorithme, le paramètre par défaut de Novell eDirectory est le suivant :

cache=dyn,%:51,min:16777216,max:0,leave:0

En d'autres termes :

  • La taille minimale du cache est 16 Mo.
  • Aucune limite maximale n'est définie.
  • Jusqu'à 51 % de la mémoire disponible seront utilisés dynamiquement.
  • 24 Mo seront laissés au système d'exploitation.

    eDirectory fonctionne avec une limite stricte de 16 Mo afin que toutes les applications soient lancées et que le système soit stabilisé.

Vous pouvez également configurer eDirectory pour qu'il utilise un pourcentage de la mémoire totale. Pour ce faire, spécifiez le cache comme illustré ci-dessous :

cache=hard,total,%:pourcentage_de_mémoire_totale_en_octets


Réglage du système d'exploitation Solaris pour Novell eDirectory

Les sections suivantes expliquent comment régler le kernel, le réseau et le système de fichiers Solaris :

IMPORTANT:  avant de commencer, vérifiez que vous avez appliqué les correctifs recommandés au système d'exploitation Solaris. Pour plus d'informations, reportez-vous à la section "Installing or Upgrading Novell eDirectory on Solaris (Installation ou mise à niveau de Novell eDirectory sous Solaris)" dans le manuel Novell eDirectory 8.8 Installation Guide (Guide d'installation de Novell eDirectory 8.8).


Réglage du kernel Solaris

Pour optimiser les performances de eDirectory sous Solaris, définissez les variables kernel suivantes dans le fichier /etc/system:

Paramètre Description

set maxphys=1048576

Nombre maximum d'octets pouvant être transférés par transaction SCSI.

set md_maxphys=1048576

Nombre maximum d'octets pouvant être transférés par transaction SCSI si vous utilisez disksuite, vol_maxio ou vxvm.

set ufs:ufs_LW=1/128e_de_la_mémoire_disponible

Pour chaque fichier, nombre limite d'octets en deçà duquel la valeur de la variable conditionnelle qui régit les processus en attente est permutée.

set ufs:ufs_HW=1/64e_de_la_mémoire_disponible

Pour chaque fichier, valeur maximale autorisée d'octets en attente.

ctcp:taille_hachage_conn_tcp=8192

Nombre d'entrées de hachage de connexion allouées pour localiser rapidement les structures de données du kernel associées à la connexion TCP. (Il est possible de porter cette valeur à 262 144 selon le nombre de clients LDAP.)


Réglage du réseau Solaris

Vous pouvez améliorer les performances de recherche LDAP à l'aide de la commande ndd de Solaris. La syntaxe de commande suivante vous permet d'analyser et de modifier les paramètres réglables qui influent sur les opérations et le comportement du réseau :

ndd -set /dev/tcp nom_variable valeur_variable

Les valeurs recommandées pour les variables sont listées dans le tableau ci-dessous :

Paramètre Description

tcp_conn_req_max_q: 1024

Le « q » correspond ici à la file d'attente dans laquelle sont conservés les sockets complets jusqu'à l'émission d'une acceptation par l'application.

tcp_time_wait_interval: 60000

Définit (dans ce cas-ci réduit) le délai d'attente.

tcp_xmit_hiwat: 64000

tcp_xmit_lowat: 64000

Ajuste la taille minimale et maximale de la fenêtre d'envoi TCP.

tcp_slow_start_initial: 2

Change de 1 en 2 le nombre de premiers paquets de transmission.


Optimisation du système de fichiers Solaris

Les performances de Novell eDirectory sous Solaris peuvent être améliorées si le système de fichiers Solaris est correctement réglé, surtout pour les opérations de chargement par lots de données dans l'annuaire. Le réglage du système de fichiers pour eDirectory est similaire à celui d'une base de données. Pour plus d'informations sur le système de fichiers Solaris, consultez le site Web Sunworld*.