Giter Club home page Giter Club logo

Comments (2)

ideawu avatar ideawu commented on August 24, 2024

Hi,

  1. The purpose of Binlog is for replication, the server will log every write to it and send it to a slave, the slave will replay the write operation. If you don't need master-slave replication, then you can set binlog: no in ssdb.conf.
  2. The lock is necessary. For set operation, actually it is two writes: the key-value, and the binlog item, the two must be performed in one WriteBatch.

from ssdb-rocks.

anakli avatar anakli commented on August 24, 2024

Thanks, since I do not need replication for my use-case, I have eliminated the use of WriteBatch and made each Put and Get operation go directly to the rocksdb database, ie: db->Put() and db->Get(), instead of adding operations to a lock-protected WriteBatch and then calling db->Write().

However, I still see a 15 ms performance gap between average and 95th percentile latency. Have you observed this as well? I see a 15 ms performance gap between avg and p95 latency even when I only use 1 reader and 1 writer and I thread-pin them to separate cores to avoid interference from the linux scheduler. So I wonder if there is some rare event (that occurs ~5% of the time) that causes ssdb to sleep or delay execution of a request for ~15ms. I am currently going through the code in detail, but if you have any ideas for explaining the latency spikes that occur 5% of the time, that would be very helpful. Thank you!

from ssdb-rocks.

Related Issues (9)

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.