Testez les performances de votre simulation

2 posts / 0 new
Last post
#1 Wed, 09/10/2013 - 19:35
No picture available
acryline Erin

Testez les performances de votre simulation

Bonjour,

Je vous propose deux tableaux qui vous aideront peut-être à tester les performances de votre simulation. Tout d'abord un tableau qui récapitule les informations de la barre des stats dans le viewer, avec  la donnée, son chemin dans le  menu de Singularity, sa fonction, son unité,  les valeurs mini et maxi, la valeur normale si il y en a,  et des informations complémentaires pour détecter d'éventuels bugs.

Le deuxième tableau est un peu pareil sauf qu'il concerne les statistiques qui s'affichent dans la console quand on lance la commande  show stats. Enfin je donne des informations sur les deux commandes show queues et xengine status.

Bonne lecture.

PS : Je  mets les tableaus demain  dans le Wiki OpenSIm ;)

 

Monitoring dans le viewer : (voir les sources en bas de page).

 

Donnée Menu dans singularity Fonction Unité min-max Valeurs normale Remarque
Ping delay  Advanced/Network/ message Log C'est le temps qu'il faut pour atteindre le serveur depuis un ordinateur (en millisecondes)        
FPS View / Statistics Nombre de fois par seconde que l'ordinateur rafraîchit ce qui est dessiné à l'écran. Un nombre élevé est mieux. fps 0.0 à 60.0 15 à 30 fps pour une fluidité comparable à la télévision.  
Bandwidth
Bande passante . Combien de données sont transférées entre l'ordinateur et le monde virtuel. kbps 0 à 900 0kps → quelque chose ne va pas, cela arrive par exemple pendant une déconnexion partielle. Ce nombre dépend de la configuration de la bande passante qui est utilisée, de la localisation de l'avatar dans le monde, ce qui est importé et si l'avatar est toujours en train de charger quelque chose qui est dans son champs de vision.
Packet Loss View / Statistics C'est la quantité de données perdues pendant le voyage entre l'ordinateur et le serveur. % 0 à 5 % Toute valeur supérieure à 0 est mauvais signe. Au delà de 10 % c'est vraiment mauvais. La perte de paquet peut être causée par :
* un serveur en mauvais état (dans ce cas, tout le monde dans la région la subit),
*une mauvaise connexion entre l'utilisateur et le monde virtuel (mauvais routage entre le FAI et le monde virtue ou une congestion du FAI),
*ou des problèmes sur le réseau local (réseau sans fil, sécurité internet ou pare-feu sur l'ordinateur).
Ping Sim View / Statistics C'est le temps qu'il faut pour qu'une donnée passe de l'ordinateur à la région sur laquelle l'avatar est. msec 0 à 1000 ms -Cette valeur dépend largement de la connexion à Internet. Si Ping Sim est élevée mais que Ping User ne l'est pas alors le serveur peut avoir un problème.
KTris Drawn View / Statistics/Advanced/Render C'est le nombre de triangles pour chaque frame de la scène courante. /fr 0 à 3000 Exprimée en nombre de triangles par frame. Les objets 3D générés par l'ordinateur sont construits à partir de triangles (forme géométrique de base).
KTris Drawn View / Statistics/Advanced/Render C'est le nombre de triangles dessinés chaque seconde. /sec 0 à 100000    
Total Objs View / Statistics/Advanced/Render Nombre total d'objets dans la vue, ce qui inclus. objet 0 à 10000   Cela inclus : les prims, les avatars, les arbres, les groupes de particules, patches de terrain et d'eau.
New Objs View / Statistics/Advanced/Render Nombre d'objets téléchargés par seconde. /sec 0 à 1000    
Object Cache Hit Rate View / Statistics/Advanced/Textures Taux d'accès au cache % 0 à 100    
Cache Read latency View / Statistics/Advanced/Textures Latence de lecture du cache msec 0 à 1000    
Count View / Statistics/Advanced/Textures Nombre de textures chargée par le viewer.   0 à 8000    
Raw Count View / Statistics/Advanced/Textures C'est le nombre de textures paginées chargées par le viewer (elles sont dans la mémoire de l'application).   0 à 8000    
GL Mem View / Statistics/Advanced/Textures Quantité de mémoire du moteur utilisée pour les textures. MB 0 à 400    
Formatted Mem View / Statistics/Advanced/Textures   MB 0 à 400    
Raw Mem View / Statistics/Advanced/Textures Quantité de mémoire de l'application utilisée par les textures. MB 0 à 400    
Bound Mem View / Statistics/Advanced/Textures Taille de la mémoire de toutes les textures utilisées pour le rendu d'une frame. MB 0 à 400    
Skipped Silhouette Steps View / Statistics/Advance   /sec 0 à 40    
UDP Packets In View / Statistics/Advance/Network   /sec 0 à 50    
UDP Packets Out View / Statistics/Advance/Network   /sec 0 à 50    
HTTP Textures View / Statistics/Advance/Network   kbps 0 à +3072    
UDP Textures View / Statistics/Advance/Network   kbps 0 à 1024    
Objects (UDP) View / Statistics/Advance/Network   kbps 0 à 1024    
Assets (UDP) View / Statistics/Advance/Network   kbps 0 à 1024    
Layers (UDP) View / Statistics/Advance/Network   kbps 0 à 1024    
Actual In (UDP) View / Statistics/Advance/Network   kbps 0 à 1024    
Actual Out (UDP) View / Statistics/Advance/Network   kbps 0 à 512    
VFS Pending 0ps View / Statistics/Advance/Network     0 à 50    
Time Dilation View / Statistics/Advance/Simulator Mesure du lag   0.0 à 1.0 1.0 signifie que le simulateur fonctionne à pleine vitesse. 0.5 qu'il fonctionne à la moitié de sa vitesse maxi.
0.0 simulation figée
 
Sim FPS View / Statistics/Advance/Simulator Taux de frame du simulateur. frame 0 à 200 Cela devrait être la même chose que Physics FPS : 45.0  
Physics FPS View / Statistics/Advance/Simulator Taux de frame du moteur physique.   0 à 200 45.0  
Pinned Objects View / Statistics/Advance/Simulator/Physics Details     0 à 480    
Low LCD Objects View / Statistics/Advance/Simulator/Physics Details     0 à 480    
  View / Statistics/Advance/Simulator/Physics Details   MB 0 à 1024    
Agent Updates/Sec View / Statistics/Advance/Simulator Vitesse à laquelle les agents sur le simulateur sont mis à jour. maj/sec 0 à 100 Normalement 20 maj/sec. Diminue s'il y a beaucoup d'agents sur le simulateur. Est-ce implémenté pour OpenSim ?
Main Agents View / Statistics/Advance/Simulator Nombre d'utilisateurs sur la simulation agent 0 à 80    
Child Agents View / Statistics/Advance/Simulator Nombre d'agents qui ne sont pas sur le simulateur mais qui peuvent le voir. agent 0 à 40    
Objects View / Statistics/Advance/Simulator Nombre total de primitives sur le simulateur. prim 0 à 30000   Cette valeur ne comprend pas les primitives portée comme attachement par les avatars.
Active Objects View / Statistics/Advance/Simulator Nombre d'objets contenant des scripts actifs sur le simulateur prim 0 à 800   Cette valeur n'inclus pas les scripts contenus dans les objets portés à moins que l'avatar soit assis sur un objet scripté.
Active Scripts View / Statistics/Advance/Simulator Nombre de scripts qui sont lancés sur le simulateur incluant les scripts attachés à des agents ou à des objets. script 0 à 800    
Script Run View / Statistics/Advance/Simulator   % 0 à 100    
Script Events View / Statistics/Advance/Simulator   eps 20000    
AI step time View / Statistics/Advance/Simulator/PathFinding details   msec 0 à 40000    
Characters Updated View / Statistics/Advance/Simulator/PathFinding details   % 0 à 100    
Packets In View / Statistics/Advance/Simulator Paquets UDP reçus par le simulateur pps 0 à 2000    
Packets Out View / Statistics/Advance/Simulator Paquets UDP envoyés par le simulateur. pps 0 à 2000    
Pending Downloads View / Statistics/Advance/Simulator Nombre d'assets en instance d'être téléchargés dans le simulateur. assets 0 à 800   Si cette valeur est supérieure à 1 alors cela signifie qu'il y aura un temps d'attente pour voir une note, exécuter un script ou rezzer un objet.
Pending Uploads View / Statistics/Advance/Simulator Nombre d'assets en instance d'être exportés depuis le simulateur. assets 0 à 800   Si ce nombre n'est pas nul cela signifie qu'on peut avoir des problèmes lorsqu'on tente de se téléporter.
Total Unacked Bytes View / Statistics/Advance/Simulator Taille des paquets de données en attente d'être reconnus par le simulateur kb 0 à 100000   un grand nombre peut révéler une bande réduite ou un autre problème entre le viewer et le simulateur.
Total Frame Time View / Statistics/Advance/Simulator/Time Somme de tous les temps listés ci-dessous. Cette valeur mesure le temps qu'il faut au simulateur pour exécuter tout ce que le simulateur doit faire pour chaque frame. msec 0.0 à 40.0   En dessous de 22 ms le simulateur est sain, tout fonctionne aussi vite que possible. Plus de scripts peuvent être ajoutés sans réduire les performances des autres scripts.
Pour une valeur proche de 22 ms : le simulateur es aussi sain, mais il y a probablement trop de scripts et d'agents sur le simulateur ? Cela signifie que l'exécution des scripts va se ralentir pour maintenir le taux de frame du simulateur.
Au dessus de 22 ms : le simulateur est trop chargé, soit par des physics soit par un grand nombre d'agents, de telle sorte que, même en ralentissant l'exécution du script, il est impossible de compenser. Le taux de frame du simulateur est réduit en conséquence.
Net Time View / Statistics/Advance/Simulator/Time temps mis pour répondre aux données du réseau entrants.   0.0 à 40.0    
Sim Time (Physics) View / Statistics/Advance/Simulator/Time Temps mis par une frame pour exécuter une simulation de physics   0.0 à 40.0 Moins de 5ms  
Sim Time (Other) View / Statistics/Advance/Simulator/Time Temps mis par une frame pour exécuter une autre simulation (mouvement d'un agent, simulation de météo etc.)   0.0 à 40.0    
Agent Time View / Statistics/Advance/Simulator/Time Temps mis pour mettre à jour et transmettre les données d'un objet à des agents.   0.0 à 40.0    
Images Time View / Statistics/Advance/Simulator/Time Temps mis pour mettre à jour et transmettre les données d'une image à des agents.   0.0 à 40.0    
Script Time View / Statistics/Advance/Simulator/Time Temps mis pour exécuter un script.   0.0 à 40.0    
Spare Time View / Statistics/Advance/Simulator/Time Nombre d'assets en instance d'être exportés depuis le simulateur.   0.0 à 40.0    
Physics steps View / Statistics/Advance/Simulator/Time/Time     0.0 à 40.0    
Update physics shapes View / Statistics/Advance/Simulator/Time/Time     0.0 à 40.0    
Physics other View / Statistics/Advance/Simulator/Time/Time     0.0 à 40.0    
Sleep Time View / Statistics/Advance/Simulator/Time/Time     0.0 à 40.0    
Pump IO View / Statistics/Advance/Simulator/Time/Time          

 

Monitoring dans la console : show stats

 

Donnée Fonction Unité min-max Valeurs normale Remarque
PhysFT Temps mis par une frame pour exécuter une simulation de physics msec 0.0 à 40.0 Moins de 5ms Au dessus de 20, le moteur physique est très occupé, ce qui provoque du lag.
Dilatn Mesure du lag.   0.0 à 1.0   1.0 signifie que le simulateur fonctionne à pleine vitesse. 0.5 qu'il fonctionne à la moitié de sa vitesse maxi.
0.0 simulation figée
SimFPS Taux de frame du simulateur. fps 0 à 200 Approche 45.0 Quand tout se passe bien et équivalent à PhysFPS
PhyFPS Taux de frame du moteur physique. fps 0 à 200 Approche 45.0  
AgntUp Taux de mise à jour de chaque agent sur le simulateur maj/sec 0 à 100 Normalement 20 maj/sec. Diminue s'il y a beaucoup d'agents sur le simulateur. Est-ce implémenté pour OpenSim ?
RootAg Nombre d'agent sur la simulation. User 0 à 80    
ChldAg Nombre d'agent qui ne sont pas sur la simulation mais qui la voient. User 0 à 80    
Prims Nombre de primitives sur la simulation. Prim 0 à 45000 Dépend de la configuration.  
AtvPrm Nombre d'objets contenant des scripts actifs sur le simulateur prim prim 0 à 800   Cette valeur n'inclus pas les scripts contenus dans les objets portés à moins que l'avatar soit assis sur un objet scripté.
AtvScr Nombre de scripts qui sont lancés sur le simulateur incluant les scripts attachés à des agents ou à des objets. script script 0 à 800    
ScrLPS Nombre d'opérations de code LSL exécutées par seconde par le simulateur/ opcodes/sec     Ce sont les opérations exécutées dans les dernières secondes, ce chiffre peut-être bas même si la performance du simulateur est bonne.
PktsIn Paquets UDP reçus par le simulateur pps 0 à 2000    
PktOut Paquets UDP envoyés par le simulateur. pps 0 à 2000    
PendDl Nombre d'assets en instance d'être téléchargés dans le simulateur. assets 0 à 800   Si cette valeur est supérieure à 1 alors cela signifie qu'il y aura un temps d'attente pour voir une note, exécuter un script ou rezzer un objet.
PendUl Nombre d'assets en instance d'être exportés depuis le simulateur. assets 0 à 800   Si ce nombre n'est pas nul cela signifie qu'on peut avoir des problèmes lorsqu'on tente de se téléporter.
UnackB Taille des paquets de données en attente d'être reconnus par le simulateur kb 0 à 100000   un grand nombre peut révéler une bande réduite ou un autre problème entre le viewer et le simulateur.
TotlFt Somme de tous les temps listés ci-dessous. Cette valeur mesure le temps qu'il faut au simulateur pour exécuter tout ce que le simulateur doit faire pour chaque frame. msec 0.0 à 40.0   En dessous de 22 ms le simulateur est sain, tout fonctionne aussi vite que possible. Plus de scripts peuvent être ajoutés sans réduire les performances des autres scripts.
Pour une valeur proche de 22 ms : le simulateur es aussi sain, mais il y a probablement trop de scripts et d'agents sur le simulateur ? Cela signifie que l'exécution des scripts va se ralentir pour maintenir le taux de frame du simulateur.
Au dessus de 22 ms : le simulateur est trop chargé, soit par des physics soit par un grand nombre d'agents, de telle sorte que, même en ralentissant l'exécution du script, il est impossible de compenser. Le taux de frame du simulateur est réduit en conséquence.
NetFt Temps mis pour répondre aux données du réseau entrants. msec 0.0 à 40.0    
PhysFt Temps mis par une frame pour exécuter une simulation de physics msec 0.0 à 40.0    
OthrFt Temps mis par une frame pour exécuter une autre simulation (mouvement d'un agent, simulation de météo etc.) msec 0.0 à 40.0    
AgntFt Temps mis pour mettre à jour et transmettre les données d'un objet à des agents. msec 0.0 à 40.0    
ImgsFt Temps mis pour mettre à jour et transmettre les données d'une image à des agents. msec 0.0 à 40.0    
Objects memory Mémoire utilisée pour les objets MB      
Memory process Mémoire utilisée pour le processus MB      

Commande : show  queues

 

Informations
Cette commande affiche des données sur les paquets UDP transférés entre le simulateur et le viewer. Un nombre élevé de paquets renvoyés par rapport à la totalité des envoies (au dessus de 15%) pour un seul utilisateur peut indiquer une mauvaise connexion internet entre le viewer et le simulateur. Un nombre élevé de paquets UDP renvoyés pour tous les utilisateurs indique en général une mauvaise connexion au simulateur.

 

 Commande :  xengin status

 

Informations
Affichage de quelques informations sur le moteur de scripts Xengine : nombre d'événements à traiter dans la file d'attente, le nombre de senseurs actifs, nombre de timers etc. Si le nombre d'événements dans la file d'attente est reste élevé cela peut indiquer un simulateur surchargé.

Sources :

http://opensimulator.org/wiki/Monitoring

http://forums.osgrid.org/viewtopic.php?f=9&t=2917

http://community.secondlife.com/t5/English-Knowledge-Base/How-to-improve...

http://opensimulator.org/wiki/Performance

Thu, 10/10/2013 - 19:29
No picture available
Praline B

wowow on en apprend des choses intéressantes par ici !

Merci Acryline ! Que de découvertes sur le simulateur, je l'ajoute à mes devoirs du soir ;)