Nagios 3: Rien de mieux dans les performances de l'interface???
Je teste Nagios 3 de temps en temps. Ayant connu des problèmes de performances avec l'interface web, j'ai réalisé quelques tests (rapides) de performances sur celle-ci. Et il semblerait que cette nouvelle version n'apporte rien de neuf de ce côté.
Je me suis "amusé" à faire du profiling sur les CGIs de Nagios 3.0a1. Pour cela, j'ai utilisé gprof (tutoriel). D'ailleurs cela a été un peu complexe car je n'ai jamais utilisé ce genre d'outil. Dans un premier temps, j'ai eu du mal à avoir un résultat différent de "pas de fichier gmon.out".
J'ai simulé la présence de 900 hosts et de 22800 services. À noter que je n'ai pas fait de choses extraordinaires: pas de dépendances, pas de parentalité, pas de grand nombres de hostgroups différents. Je me suis basé sur mon expérience des éléments supervisés sur les environnements de mes clients pour avoir quelque chose de suffisamment proche de la réalité. J'ai simulé un environnement très peu contraint avec un seul utilisateur et ne faisant qu'une seule requête à la fois. Ce qui est par contre très éloigné de la réalité.
Le temps d'exécution de la CGI Tactical Overview est de 7s. Le temps d'exécution est le même pour les CGI suivantes: TOUTES! Et oui, toutes (ou presque: la statusmap met elle 25 secondes) les CGIs mettent à peu de choses près le même temps pour s'exécuter. En fait, cela vient de l'origine du ralentissement. En effet, Gprof me dit que les trois fonctions qui ralentissent mes CGIs sont xsddefault_read_status_data et xodtemplate_add_object_property et strip. Les deux premières fonctions sont utilisées pour lire le fichier de statut et la configuration. C'est là que se trouve le point de ralentissement qu'il faut supprimer.
La fonction strip est utilisée pour supprimer les caractères "blancs" (espaces, tabulations et autres) des chaînes de caractères). Pour améliorer les performances, il suffit de la modifier très légèrement en ajoutant les éléments suivants en début de fonction, après la déclaration des variables:
g_strstrip( buffer ); return;Dès lors, après recompilation, la CGI gagne une seconde de temps d'exécution. Allez, plus que 5,5 secondes à gagner et on pourra être satisfait! :-)



Hummmm. Je vois je vois. En fait le fichier de
Cédric Temple | jeudi, mars 15 2007 | 17:11Hummmm. Je vois je vois. En fait le fichier de statut fait 28Mo et plus de 1 200 000 lignes. C'est bien de sauvegarder en mode texte mais ce n'est pas suffisamment performant. Peut être en passant par le mode binaire le chargement serait plus rapide? À creuser!
That is perfect that people are able to take the
business loans | vendredi, juillet 23 2010 | 19:56That is perfect that people are able to take the business loans moreover, it opens up completely new chances.