1. A computer-implemented cache optimization method comprising: monitoring cache access rate for a plurality of cache tenants sharing same cache mechanism having an amount of data storage space, wherein a first cache tenant having a first cache size is allocated a first cache space within the data storage space, and wherein a second cache tenant having a second cache size is allocated a second cache space within the data storage space; determining cache profiles for at least the first cache tenant and the second cache tenant according to data collected during the monitoring; analyzing the cache profiles for the plurality of cache tenants to determine an expected cache usage model for the cache mechanism; analyzing the cache usage model and factors related to cache efficiency or performance for the one or more cache tenants to dictate one or more occupancy constraints that define data storage space allocations at least for the first cache size and the second cache size allocated to the first cache tenant and the second cache tenant, respectively; examining data storage allocations to the plurality of cache tenants, in response to receiving a request to increase the first cache size so that additional cache space is allocated to the first cache tenant; and searching for a target cache tenant from among the plurality of cache tenants, such that cache size for the target cache tenant may be reduced without violating, beyond a threshold, the occupancy constraints for a cache size allocated to the target cache tenant.