1. A method comprising: monitoring, by a computing device, a performance rate for each of a plurality of prior workloads and a latency of each of a plurality of cache storage resources; determining, by the computing device, a plurality of configurations for the plurality of cache storage resources for one or more current workloads based at least on a service level objective for each of the one or more current workloads, the monitored performance rate for each of the plurality of prior workloads, and the monitored latency of each of the plurality of cache storage resources; determining, by the computing device, a cost for each of the determined plurality of configurations; selecting, by the computing device, one of the determined plurality of configurations for the dynamic partitioning based on the determined cost for each of the determined plurality of configurations; and dynamically partitioning, by the computing device, the plurality of cache storage resources among each of the one or more current workloads based on the selected one of the determined plurality of configurations.