20.3. Amélioration des performances du client Sun Ray par la diminution de la mise en mémoire tampon du commutateur du réseau (Oracle Solaris)

Certains commutateurs réseau ne fonctionnent pas bien avec les clients Sun Ray lorsque la connexion côté serveur est configurée pour s'exécuter à 1 Gbit/s. Les clients Sun Ray s'exécutant à 100 Mbit/s et les données provenant du serveur X Windows étant envoyées en rafales périodiques, ces commutateurs doivent obligatoirement stocker une certaine quantité de données en mémoire. Cela peut se produire même lorsque la vitesse moyenne de transfert des données provenant du serveur X est largement inférieure à 100 Mbit/s.

Le serveur X est programmé de telle façon qu'une certaine quantité autorisée de données est envoyée selon des intervalles réguliers. La mise en oeuvre initiale comptait 50 cycles par seconde. Le serveur X est autorisé à envoyer des données à un certain taux de transfert, autorisé par le client Sun Ray.

Par exemple, si la vitesse de transfert autorisée pour le client Sun Ray est de 40 Mbit/s, il peut envoyer 5 Mo par seconde par des rafales envoyées tous les 1/50e de seconde. En d'autres termes, à chaque cycle, le serveur peut envoyer 100 Ko de données à la vitesse de 1 Gbit/s. Cela entraîne la formation d'une file d'attente de près de 100 Ko dans le commutateur, qui s'écoule à la vitesse de 100 Mbit/s au cours du 1/50e de seconde suivant.

La première action pour atténuer ce type de problème consiste à augmenter le nombre de cycles de 50 à 100 par seconde. Ainsi, dans l'exemple ci-dessus, le serveur X envoie 50 Ko toutes les 10 ms plutôt que 100 Ko toutes les 20 ms. Ce paramètre devrait considérablement améliorer la situation, mais le problème restera. La valeur de 100 cycles par seconde a été choisie parce qu'elle correspondait à la résolution normale de l'horloge dans Oracle Solaris et Oracle Linux .

Pour augmenter le nombre de cycles par seconde au-delà de 100, le compteur du système d'exploitation doit également être augmenté. Pour Oracle Solaris, suivez la procédure ci-dessous.

Procédure
  1. Ajoutez la ligne suivante dans le fichier /etc/system :

    set hires_tick=1
  2. Réinitialisez le système.

Le paramètre hires_tick=1 augmente la résolution de l'horloge du système pour la définir sur 1000 cycles par seconde.

Le serveur X utilisant le paramètre système, les rafales de données du serveur X utilisent à présent la même valeur, 1000 cycles = 1 seconde, c'est-à-dire 1 cycle = 1 ms. Dans l'exemple, l'utilisation des résultats de la nouvelle durée de cycle dans le serveur X permet d'envoyer 5 Ko de données chaque milliseconde.

Le changement de durée de cycle réduisant la quantité de mise en mémoire requise sur le commutateur du réseau, les performances des clients Sun Ray doivent augmenter.