CacheBench bandwidth reporting #57
-
I am replaying a few KV traces using CacheBench. I had a few questions about the throughput numbers reported in the result.
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
When a cache miss occurs, cachebench by default does not do anything to fill the missing key. However, if you enable the "lookAside" option in the config(see this), then CacheBench will insert a new value for the missing key. This is similar to how cachebench inserts keys when you configure the setRatio. With this, the cache miss will impact the throughput since the cache will see more sets. However, it does not incorporate the time taken for the cache to fetch the data from backend. To do that, you'll need add some logic in CacheBench to emulate that accordingly.
not sure what you mean by this. Are you referring to the storage that you pass to cachebench for the hybrid cache ? If so, how do you plan to use that to emulate a cache miss ? |
Beta Was this translation helpful? Give feedback.
-
@pbhandar2 you can hook into the [Stressor framework] (https://github.com/facebook/CacheLib/blob/5cbbfaae0c74e88ab5003e338ff74a0ee75d063d/cachelib/cachebench/runner/Stressor.h) to write your own stressor that reads the value from some other source (that incurs the bandwidth). |
Beta Was this translation helpful? Give feedback.
@pbhandar2 you can hook into the [Stressor framework] (https://github.com/facebook/CacheLib/blob/5cbbfaae0c74e88ab5003e338ff74a0ee75d063d/cachelib/cachebench/runner/Stressor.h) to write your own stressor that reads the value from some other source (that incurs the bandwidth).