主权项 |
1. A method comprising:
accessing availability information describing a plurality of virtual machines running on one or more physical machines, wherein a virtual machine has associated virtual machine performance metrics and a physical machine has associated physical machine performance metrics, the virtual machine performance metrics comprise partial usage and load measurements of hardware, software, and network resources corresponding to the resource consumption of the virtual machine, physical machine performance metrics comprise full usage and load measurements of hardware, software, and network resources corresponding to the physical machine, the availability information being based on the virtual machine performance metrics and the physical machine performance metrics, the plurality of virtual machines using one or more physical resources, the availability information associating each virtual machine with a corresponding physical resource used by the each virtual machine, and wherein accessing availability information comprises:
receiving, at an interface of a load balancer, availability information from the one or more physical machines and availability information from one or more hypervisors associated with one or more virtual machines of the plurality of virtual machines; andmonitoring, by one or more processors of the load balancer, the physical resources used by the plurality of virtual machines by actively sending monitor probes to the physical resources to detect out-of-sequence packets indicating that the resource is taxed; determining, by one or more processors of the load balancer, use by the plurality of virtual machines from the availability information; determining, by one or more processors of the load balancer, availability of the one or more physical resources according to the use by the plurality of virtual machines; balancing server load according to the availability of the one or more physical resources based at least in part on the detection of out-of-sequence packets; determining an expansion threshold for one or more physical resources based at least in part on the detection of out-of-sequence packets, wherein the load balancer does not send connections to the one or more physical resources at the expansion threshold; and determining a contraction threshold for one or more physical resources based at least in part on the detection of out-of-sequence packets, wherein the load balancer drains the load from the one or more physical resources at the contraction threshold. |