here is an interesting post about scaling and ido, which is the old data-backend for icinga2.
Since icingadb should perform better this could be used as a baseline.
Keep also in mind the timeout of the checks. if your custom checks waits too long for a result and/or the icinga check timeout is set to long this can also trigger unintendend load on your system.