1. A computer-implemented method for selecting requests from a plurality of tenant queues in a multi-tenant system, the method being executed using one or more processors and comprising: determining, by the one or more processors, a plurality of weights based on an initial set of weights provided at a beginning of a period, each weight being associated with a respective tenant in a set of tenants that share an application server instance executed by the multi-tenant system, which comprises an application server system; receiving, by the one or more processors, a measured average response time and a measured throughput for each tenant in the set of tenants; determining, by the one or more processors, a total of average response times for all tenants, an average response time error for the respective tenant, and a throughput error for the respective tenant based on the measured average response time, the measured throughput and a service level agreement that defines an average response time to process a quota comprising a maximum number of requests the respective tenant is allowed to send during each iteration to have a guaranteed quality of service; dynamically adjusting, by the one or more processors, each weight based on the average response time error, the throughput error for the respective tenant, and the total of average response times for all tenants; selecting, by the one or more processors, a tenant from the set of tenants based on the plurality of weights to provide a selected tenant; and transmitting, by the one or more processors, a request from a request queue associated with the selected tenant for processing by a dedicated shared resource, which is isolated from other dedicated shared resources, associated with other tenants within the multi-tenant system, with regard to performance and data privacy.