[hobbit] performance issue with multiple pagesets

Henrik Stoerner henrik at hswn.dk
Wed Jul 20 22:04:05 CEST 2005


On Wed, Jul 20, 2005 at 07:28:44PM +0200, Olivier Beau wrote:
>  
> > Your system is probably doing a great job of buffering the disk writes,
> > but I really can't see what the big problem is.
> 
> well, all that i/o load hangs the server for a couple second, 
> (pretty anoying while doing vi..), and i say a couple of 
> "Whoops ! bb failed to send message - timeout" during the I/O load
[snip] 
> for now i think i'll have to stick in a better raid card (the default raid card
> on those server are pretty crummy...)
>
> > What OS are you running ?
> 
> i'm running redhat 3.0 on a compaq server with 2 CPU (1,1Ghz)

Hmmm - it shouldn't load your system that bad, it sounds like there's
some driver problem. Or a really crappy disk controller/driver. I 
don't know what Linux kernel you're running, but I know there's been
a lot of work going on lately with different algorithms for I/O
scheduling and ensuring a "fair" ressource sharing for processes.

If writing ~20 MB of data in one go can cause your system to stall, 
it does sound like a problem. If you can reproduce it with a simple 
"dd if=/dev/zero of=dummyfile size=4k count=5000" then I'd be inclined
to ask your Red Hat support contact if they have any ideas what to do.


> that's why i wondered about disabling the generation of bb.html on some pagesets..

OK, the attached patch will let you do that - add "--no-pages" to the 
bbgen command line.

> 
> would it be possible to have those bb*.html page generated dynamicly ?

It's something I've thought about, yes - but haven't gotten around to
implement yet. The individual status pages are generated on-the-fly
so it would be a nice "clean" implementation to have everything be
dynamically generated. Plus you'd always have an up-to-date view.

I guess I won't run out of things to do for quite some time :-)


Regards,
Henrik

-------------- next part --------------
--- bbdisplay/bbgen.c	2005/07/14 08:12:25	1.214
+++ bbdisplay/bbgen.c	2005/07/20 16:25:26
@@ -101,6 +101,7 @@
 	int		embedded = 0;
 	int		hobbitddump = 0;
 	char		*envarea = NULL;
+	int		do_normal_pages = 1;
 
 	/* Setup standard header+footer (might be modified by option pageset) */
 	select_headers_and_footers("bb");
@@ -337,6 +338,9 @@
 		else if (strcmp(argv[i], "--no-acklog") == 0) {
 			bb2acklog = 0;
 		}
+		else if (strcmp(argv[i], "--no-pages") == 0) {
+			do_normal_pages = 0;
+		}
 
 		else if (argnmatch(argv[i], "--noprop=")) {
 			char *lp = strchr(argv[i], '=');
@@ -434,6 +438,7 @@
 			printf("    --eventignore=test[,test]   : Columns to ignore in bb2 event-log display\n");
 			printf("    --no-eventlog               : Do not generate the bb2 eventlog display\n");
 			printf("    --no-acklog                 : Do not generate the bb2 ack-log display\n");
+			printf("    --no-pages                  : Generate only the bb2 and bbnk pages\n");
 			printf("    --docurl=documentation-URL  : Hostnames link to a general (dynamic) web page for docs\n");
 			printf("    --no-doc-window             : Open doc-links in same window\n");
 			printf("    --htmlextension=.EXT        : Sets filename extension for generated file (default: .html\n");
@@ -598,7 +603,7 @@
 	if (reportstart && csvfile) {
 		csv_availability(csvfile, csvdelim);
 	}
-	else {
+	else if (do_normal_pages) {
 		do_page_with_subs(pagehead, dispsums);
 	}
 	add_timestamp("Hobbit pagegen done");


More information about the Xymon mailing list