I have a single host with 8000+ interfaces and do require data from all of these interfaces every 5min.
NMIS is unable to complete the collection within 5min, it currently takes around 8-10min.
There is only this one host in NMIS, it appears collection is a single threaded process as only see one CPU core being utilised?
Is there any optimisations I can make to decrease collection time?
There are some options for optimising the interface collection, are you wanting to collect interface utlisation and packet stats? NOT collecting packet stats would increase collection time a fair bit, that is a simple modelling change.
There are some other optimisations which would be a little more involved but could be done. Please reach out if you would like some more details.
NMIS will happily scale to handle the largest of networks.
There are lots of things you can do to poll more devices / interfaces and make the most of the server you have. Please take a look through the following wiki entries which discuss scale, scaling, performance and handling large numbers of interfaces. If you are only using one CPU you likely want to increase the number of polling threads you are running which is set in your nmis cron entry.
Particularly have a look at varying the number of threads you use in the article above:
maxthreads=<MAX THREADS BASED ON YOUR BASELINE>
Sometimes it is the devices themselves which are too slow to respond If this the case have a look here:
Let us know how you go with these and we can provide some more tips to scale things further.