Project

General

Profile

Feature #40072

[journal] tweak config defaults to improve small-IO performance

Added by Jason Dillaman 4 months ago. Updated 3 months ago.

Status:
Pending Backport
Priority:
Normal
Target version:
-
Start date:
05/29/2019
Due date:
% Done:

0%

Source:
Tags:
Backport:
nautilus,mimic,luminous
Reviewed:
Affected Versions:
Pull request ID:

Description

Small IO throughput w/ journaling enabled is substantially worse than the expected worse-case of 2x the latency / 0.5x the IOPS. Tweak the config defaults to try to reduce the performance hit for small IO.

I suggest we create a new "rbd_journal_object_writethrough_until_flush"-style object (i.e. similar to "rbd_cache_writethrough_until_flush") which is defaulted to true. Then we can set "rbd_journal_object_flush_bytes" to 1MiB (i.e. similar to the current cache defaults when combined w/ the next point) w/o the need to worry about inconsistent IO in the case of failure since we know the app is sending flushes. Finally, increase the default "rbd_journal_splay_width" to 16 since (1) it's the default for "rbd bench", (2) it should match the max expected queue depth of workload.

The above are just ideas and should be tested to verify the best performance for small IO workloads.


Related issues

Copied to rbd - Backport #40509: luminous: [journal] tweak config defaults to improve small-IO performance New
Copied to rbd - Backport #40510: mimic: [journal] tweak config defaults to improve small-IO performance Need More Info
Copied to rbd - Backport #40511: nautilus: [journal] tweak config defaults to improve small-IO performance Resolved

History

#1 Updated by Jason Dillaman 3 months ago

  • Status changed from New to In Progress
  • Assignee set to Jason Dillaman

#2 Updated by Jason Dillaman 3 months ago

  • Backport set to nautilus

#3 Updated by Jason Dillaman 3 months ago

  • Status changed from In Progress to Need Review
  • Pull request ID set to 28539

#4 Updated by Jason Dillaman 3 months ago

  • Backport changed from nautilus to nautilus,mimic,luminous

Skip last commit (enabling writethrough mode) during backport

#5 Updated by Mykola Golub 3 months ago

  • Status changed from Need Review to Pending Backport

#6 Updated by Nathan Cutler 3 months ago

  • Copied to Backport #40509: luminous: [journal] tweak config defaults to improve small-IO performance added

#7 Updated by Nathan Cutler 3 months ago

  • Copied to Backport #40510: mimic: [journal] tweak config defaults to improve small-IO performance added

#8 Updated by Nathan Cutler 3 months ago

  • Copied to Backport #40511: nautilus: [journal] tweak config defaults to improve small-IO performance added

Also available in: Atom PDF