How many systems? What kind of disk is the system running on? If
it's
a slower SATA type, you might look at relocating the /var/lib/cobbler
directory to another partition, especially if your server is busy
(lots of http requests to /var/www for instance).
It's about 3000 systems. This is actually a sync'd copy of a
production system that doesn't get any http requests at all. It's
running in VMware, and I have a feeling that the bottleneck here is
the back-end storage. It takes about 15 seconds just to do this:
allservers = xmlrpclib.Server("http://localhost/cobbler_api").get_systems()
I managed to resolve this by using the cPickle module to suck
allservers into a pickle dump file. To speed it up even further we
put the dump file on a ram disk. Now the graphs that were previously
taking 30 seconds to render come up in 3-4 seconds.
I would like to publish the code for this at some point, I just have
to check with the corporate overlords to make sure it's ok. ;-)