[core] pull server load checks out of main loop