1. A computer implemented method for monitoring workloads, the computer implemented method comprising: identifying a plurality of input/output requests in a workload for an input/output scheduler; classifying each request in the plurality of input/output requests to form a set of classifications, wherein the plurality of input/output requests is classified using workload characteristics, and wherein the workload characteristics are characteristics of read requests and write requests; assembling the set of classifications into an input/output workload fingerprint; determining whether an action is needed based on the fingerprint, wherein the determining step comprises maintaining a list of specific input/output schedulers that are inefficient for specific combinations of workload characteristics that require specific adjustments to tunable parameters; and initiating the action if the action is needed, wherein the initiating step comprises at least one of automatically swapping the input/output scheduler for a new input/output scheduler and altering a tunable parameter used by the input/output scheduler to process the workloads, wherein the tunable parameter is selected from a group consisting of a default read expire time-out, a default write expire time-out, a default read batch expire time-out, a default write batch expire time-out, a read queue depth, and a write queue depth.