Running 6K hosts

Andreas Ericsson ae at op5.se
Tue Feb 8 21:16:09 CET 2005


Ben wrote:
> A quick glance at the code makes it look like all the xodtemplate 
> functions spend most of their time list walking. Converting from a list to 
> a tree/hash should dramatically speed things up.
> 

Forget hashes. If objects were properly indexed in internal tables, this 
would be a much simpler issue where only host-names have to be hashed.
Services could then be organized in a 3D table indexed by size_t 
host_id, which would reside in the host object struct (in running 
config, that is). The one-time load penalty would be slightly higher, 
but not necessarily very much since the internal tables really don't 
have to bother with alphabetical sorting and such.

If one wants it even faster, it would be simple to put all objects 
referenced by others into such tables. For instance, a service object 
could have a serviceextinfo_id variable so as to quickly locate it in a 
map. With only very minor modifications to the CGI's and the daemon 
(printing total number of each object type at the top of objects.cache 
so it doesn't have to bother with reading, counting, allocating, 
indexing and tabulating in separate passes), one would notice a 
tremendous speedup.

> On Tue, 8 Feb 2005, Jason Martin wrote:
> 
> 
>>I'm looking ahead to running a 6K host / 60K service distributed
>>Nagios setup reporting up to a central Nagios host.  
>>
>>The test procedure was to write a config file consisting of X
>>hosts with 10 services per host.  
>>
>>On a 2 proc 2Ghz Intel machine, the preflight time for 1.1 and
>>2.0cvs comes out as:
>>
>>Hosts	v1.1(s)	v2.0(s)
>>100	0	1
>>400	5	4
>>500	7	6
>>1000	23	23
>>2000	149	117
>>3000	321	251
>>4000	526	431
>>5000	760	651
>>6000	1034	912
>>
>>The profile for the preflight is:
>>Each sample counts as 0.01 seconds.
>>  %   cumulative   self              self     total
>> time   seconds   seconds    calls  ms/call  ms/call  name
>> 84.24      4.33     4.33     5502     0.79     0.79  xodtemplate_find_service
>>  7.78      4.73     0.40        1   400.00   449.66  xodtemplate_sort_services
>>  4.09      4.94     0.21        1   210.00   210.00  pre_flight_check
>>  0.78      4.98     0.04     5501     0.01     0.01  find_service
>>
>>It looks like xodtemplate_find_service is still taking up a log of time. Can
>>anything be done to speed it up? Otherwise it looks like 6K hosts is going to be unatainable.
>>
>>Thanks,
>>-Jason Martin
>>-- 
>>This message is PGP/MIME signed.
>>
> 
> 
> 
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> _______________________________________________
> Nagios-devel mailing list
> Nagios-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nagios-devel
> 

-- 
Andreas Ericsson                   andreas.ericsson at op5.se
OP5 AB                             www.op5.se
Lead Developer


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click




More information about the Developers mailing list