A method comprising: determining client metrics of a volume in a storage system for a first client in a plurality of clients (108a, 108b...), wherein the storage system stores data from the plurality of clients, wherein the client metrics are based upon use of the storage system by the first client; determining system metrics of a cluster in the storage system based upon use of the storage system by the plurality of clients, wherein the system metrics are based upon use of the storage system by the plurality of clients; determining a load value of the storage system based upon the system metrics and the client metrics; determining if the load value is above a first predefined threshold; calculating, using a processor, a target performance value for the first client based upon the load value, a minimum quality of service value for the first client, and a maximum quality of service value for the first client, wherein the first client also has a maximum burst quality of service value greater than the maximum quality of service value for the first client; throttling input/output request to adjust performance of the storage system for the first client based upon the target performance value and based on if the determining the load value is above the first predefined threshold, wherein the adjusted performance of the storage system for the first client is below the minimum quality of service value for the first client when the load value is above the first predefined threshold; accruing credits for the first client when the adjusted performance of the storage system for the first client is below the maximum quality of service value for the first client; and allowing the first client to operate between the maximum burst quality of service value and the maximum quality of service value for the first client when the determining load value is below a second predefined threshold, based upon the accrued credits. determining client metrics of a volume in a storage system for a first client in a plurality of clients (108a, 108b...), wherein the storage system stores data from the plurality of clients, wherein the client metrics are based upon use of the storage system by the first client; determining system metrics of a cluster in the storage system based upon use of the storage system by the plurality of clients, wherein the system metrics are based upon use of the storage system by the plurality of clients; determining a load value of the storage system based upon the system metrics and the client metrics; determining if the load value is above a first predefined threshold; calculating, using a processor, a target performance value for the first client based upon the load value, a minimum quality of service value for the first client, and a maximum quality of service value for the first client, wherein the first client also has a maximum burst quality of service value greater than the maximum quality of service value for the first client; throttling input/output request to adjust performance of the storage system for the first client based upon the target performance value and based on if the determining the load value is above the first predefined threshold, wherein the adjusted performance of the storage system for the first client is below the minimum quality of service value for the first client when the load value is above the first predefined threshold; accruing credits for the first client when the adjusted performance of the storage system for the first client is below the maximum quality of service value for the first client; and allowing the first client to operate between the maximum burst quality of service value and the maximum quality of service value for the first client when the determining load value is below a second predefined threshold, based upon the accrued credits.