Re: mon.cgi very slow, communication protocol improvements?
David Nolan <vitroth+ <at> cmu.edu>
2008-04-10 14:24:51 GMT
You didn't mention some important bits of imformation, most
significantly what version of Mon, Mon::Client and mon.cgi you are
using. There have been significant protocol changes in various
versions. Speed problems that occurred with 0.99.2 are pretty much
gone with 1.2.0 for example. Also what OS are you running on?
I'm using mon with well over 100 hostgroups without any performance
problems, with mon.cgi rendering a full page in under a second
typically. I can't see how the performance would fail to scale to
Off the top of my head I'm guessing that Storable would actually
increase the overhead in the mon server & cgi, as the data still has
to be transformed into the sharable form and then re-parsed.
On Thu, Apr 3, 2008 at 4:09 AM, Rune Kristian Viken <runevi <at> basefarm.no> wrote:
> I'm using mon to monitor > 600 hostgroups, with an average of 8 or so
> services each. The total number of hosts is > 1000.
> The main problem I've come accross is that mon.cgi is slow, and after some
> debugging, it seems that it's the communication with the mon-server that is
> slow. I have to wait an average of about 12 seconds per pageview.
> I've tried digging around a bit, and it seems that it's two routines in
> query_opstatus that takes quite a long time:
> %op_success = &mon_list_successes;
> %op_failure = &mon_list_failures ;
> Looking at the communication protocol, it seems that the main drawback is
> that mon has to spin through a *lot* of data-structures and present them in
> a nice way.
> I was thinking that this might accomplished faster by sharing the %watch and
> maybe %groups data-structure from mon, with the help of
> http://perldoc.perl.org/Storable.html .. but even though I feel I have
> decent know-how of mon-internals, I don't feel they're entirely up to
> scratch on how to implement this.
> Is it a good idea? A horrible idea? Am I barking up the wrong tree, with
> something else being the main problem here?
> Rune Kristian Viken
> mon mailing list
> mon <at> linux.kernel.org