Skip to content

Storage: Investigate O_DIRECT on RocksDB #3058

@mapleFU

Description

@mapleFU

Search before asking

  • I had searched in the issues and found no similar issues.

Motivation

Currently, the hardware is becoming faster and faster. O_DIRECT is supported by rocksdb [1], and allowed to be enabled by MyRocks and other applications.

Now, for reader, there're two ways to bypass kernel buffer and user buffer:

  1. mmap, which shares the buffer among kernel and user space
  2. O_DIRECT, forcing aligned read

RocksDB has limited support for mmap, see [2]. O_DIRECT might enhance performance, but it also has some counter parts, see [3]

[1] https://github.com/facebook/rocksdb/wiki/Direct-IO
[2] https://smalldatum.blogspot.com/2022/05/using-mmap-with-rocksdb.html
[3] facebook/rocksdb#6448

Solution

The code would be easy, perhaps the most important thing is setting up benchmark on different machines

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions