1. A computer-implemented method comprising: polling a plurality of application servers for status, wherein polling includes periodically pinging each of the plurality of application servers; in response to the polling, receiving status reports corresponding to the plurality of application servers, wherein each status report includes data analysis relating to an availability or a capability of each of the plurality of application servers, wherein the status reports are generated based on sets of details provided, in real-time, by a plurality virtual machines associated with the plurality of application servers, wherein the sets of details are collected, in real-time, by one or more virtual machines associated with each application server; assigning priority levels to the plurality of application servers based on the status reports, wherein each application server is assigned a single priority level based on its corresponding status report, wherein the assigned priority levels are dynamically adjusted based on the real-time collection of the sets of details by the plurality of virtual machines, wherein, based on the real-time collection of the sets of details, a high priority level of the assigned priority levels is assigned to one or more application servers that, in comparison with other applications, have more available space in a heap or performed fewer full garbage collections during a last or any particular interval of time; and facilitating dynamic load balancing at the plurality of application servers based on the assigned priority levels.