Giter VIP home page Giter VIP logo

Comments (4)

ajkr avatar ajkr commented on August 20, 2024

The benchmarks we have now with pebble ycsb are pretty good. One thing I'm trying to figure out is what numbers to look at particularly for workloads involving writes. Here's my high level proposal.

The first step will be find the "peak sustainable throughput". That metric could be found by an unbounded search on the rate limit argument to pebble ycsb. A workload would be deemed sustainable if, on a prefilled large DB, it can run until pending compaction bytes converges without hitting any stall/stop limits. If pending compaction bytes keeps increasing meaningfully beyond some period of time, or stall/stop limits are ever reached, we can declare the throughput is too high.

The next step is to establish the latency/throughput curve. We can run workloads at a few different throughputs between 0 and the peak sustainable throughput. We can record read/write p50/p99 latencies and graph the results. Here's an example graph I'd like to make, taken from the YCSB paper.

image

Then the third step is automation allowing us to run an A/B test on different Pebble binaries or on Pebble vs. RocksDB. Maybe also a way to quantify improvement/regression (this is easy for peak sustainable throughput, but not so easy for the latency/throughput curve).

from pebble.

ajkr avatar ajkr commented on August 20, 2024

The next step is to establish the latency/throughput curve. We can run workloads at a few different throughputs between 0 and the peak sustainable throughput. We can record read/write p50/p99 latencies and graph the results. Here's an example graph I'd like to make, taken from the YCSB paper.

It might be reasonable for this step to have a warm-up phase until cache is populated and pending compaction bytes has stabilized. I guess the latency profile will stabilize afterwards.

from pebble.

github-actions avatar github-actions commented on August 20, 2024

We have marked this issue as stale because it has been inactive for
18 months. If this issue is still relevant, removing the stale label
or adding a comment will keep it active. Otherwise, we'll close it
in 10 days to keep the issue queue tidy. Thank you for your
contribution to Pebble!

from pebble.

github-actions avatar github-actions commented on August 20, 2024

We have marked this issue as stale because it has been inactive for
18 months. If this issue is still relevant, removing the stale label
or adding a comment will keep it active. Otherwise, we'll close it
in 10 days to keep the issue queue tidy. Thank you for your
contribution to Pebble!

from pebble.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.