A method, in a network comprising a primary server and a plurality of offload servers, for dynamic offloading of processing requests from said primary server to any one of said plurality of offload servers, the method comprising steps of:
- determining a load on said primary server;
- if the load on said primary server is less than a first threshold, serving processing requests at said primary server;
- only if the load on said primary server exceeds said first threshold, then offloading at least a portion of said processing requests to any one of said plurality of offload servers while said primary server continues to serve a remainder of said processing requests, wherein said any one of said plurality of offload servers processes said at least a portion of said processing requests and is associated with an offload threshold and the at least a portion of said processing requests is the only work handled by said any one of said plurality of offload servers, wherein the offloading is performed in accordance with a respective offload threshold for each of the plurality of offload servers, such that if said respective offload threshold is exceeded for every one of the plurality of offload servers, said offloading is stopped until a load on one of said plurality of offload servers falls below said respective offload threshold;
- and
- if the load on said primary server exceeds a second threshold, throttling at least one of said processing requests,
- wherein serving the processing requests at said primary server includes returning a page to a user wherein all embedded objects in the page have links to said primary server;
- and
- wherein offloading at least a portion of the processing requests to any one of said plurality of offload servers includes serving a base page at said primary server in which links for embedded objects point to any one of said plurality of offload servers.