I added some info in the way we shape icinga installs for large environments in this post.
I’m currently working on a setup with 50,000+ hosts and for the most part it is OK.
Some of the size problems we notice is IcingaDBWeb can get a bit out of wack as it gets some data from redis and other data direct from the db which results in some parts of the screen disagreeing with each other particularly after deployment.
We are also seeing 40-60 seconds for deployment to run as all the config load, this is partially because the config has some stuff it really shouldn’t have but config size is a thing. This slowness to deploy also affect restart.