The solution to this was to add some php code to all pages.
Just posting this, incase anyone else needs it in the future :)
<php>
//Setup Variable:
$maxLoad = 40; //If the Load is occupying more than 2 cpus/cores
$time = 0; //0 means 1 minute, 1 means 5 minutes, 2 means 15 minutes.
$avgLoad = sys_getloadavg(); //Native PHP function to read Load Average of a Linux Server.
if ($avgLoad[$time] > $maxLoad) {
//If the Load within $time is greater than the maximum numbers of CPUs specified into $maxLoad
include ("maintenance.html");
die();
}
</php>
This will then send all users to a maintenance page until the load drops.