1. A method of assigning a user workload to an application server, comprising: receiving, by a data processing system, a user request to initiate execution of a workload assigned to a user; selecting, by the data processing system an application server, from among multiple application servers, to execute the workload based on compatibility between respective current states of the application servers and the workload; in response to the user not being previously authenticated, transmitting the user request to an authenticator executing on the data processing system; attempting, by the authenticator executing on the data processing system, to authenticate the user; in response to the authenticator successfully authenticating the user, transmitting, by the data processing system, a cache hit test package for the user to the application servers, wherein the cache hit test package includes one or more cache lookup keys and one or more cache types that are utilized to determine the compatibility between the respective current states of the application servers and the workload; and initiate, by the data processing system, generating, by each of the application servers, respective affinity scores for the cache hit test package based on respective states of the application servers, wherein the respective affinity scores indicate the compatibility between the respective current states of the application servers and the workload.