Feature #1836
closedfilejournal: use async directio to write to the journal
Added by Sage Weil over 12 years ago. Updated about 12 years ago.
0%
Description
Currently we're doing a sync direct io write, which means we pay a full rotation between each io.
Updated by Sage Weil over 12 years ago
- Translation missing: en.field_position set to 9
Updated by Sage Weil over 12 years ago
Say we have a cap of N aio ops, to prevent a stream of small ops resulting in a stream of tiny aio writes to the journal. (Okay, actually, is that actually bad? Maybe not!)
Anyway, assuming it is, and we implement a cap, we can do something like wait a minimum of (bytes_in_flight / max_journal_tput / N) seconds before dispatching the next aio write, which will make each write, on average, (current_throughput / N) bytes. This would avoid dispatching N 4k writes, hitting our max, and waiting until the first completes, but not having enough time to get the next io to the controller before the disk rotates again (since all N writes were small and right next to each other).
Updated by Greg Farnum over 12 years ago
Presumably AIO writes can be combined or reordered by the block device/interfaces, right? So having a bunch of them in-flight would be more likely to increase than decrease performance.
Updated by Sage Weil over 12 years ago
- Translation missing: en.field_position deleted (
30) - Translation missing: en.field_position set to 28
Updated by Sage Weil over 12 years ago
- Translation missing: en.field_position deleted (
30) - Translation missing: en.field_position set to 26
Updated by Sage Weil over 12 years ago
- Target version set to v0.41
- Translation missing: en.field_position deleted (
28) - Translation missing: en.field_position set to 103
Updated by Sage Weil over 12 years ago
- Translation missing: en.field_story_points set to 8
- Translation missing: en.field_position deleted (
103) - Translation missing: en.field_position set to 28
Updated by Sage Weil over 12 years ago
- Target version deleted (
v0.41) - Translation missing: en.field_position deleted (
29) - Translation missing: en.field_position set to 1
Updated by Sage Weil over 12 years ago
- Target version set to v0.41
- Translation missing: en.field_position deleted (
1) - Translation missing: en.field_position set to 29
Updated by Sage Weil over 12 years ago
- Translation missing: en.field_position deleted (
29) - Translation missing: en.field_position set to 27
Updated by Sage Weil over 12 years ago
- Target version changed from v0.41 to v0.42
- Translation missing: en.field_position deleted (
30) - Translation missing: en.field_position set to 1
Updated by Sage Weil about 12 years ago
- Target version changed from v0.42 to v0.43
Updated by Sage Weil about 12 years ago
- Translation missing: en.field_position deleted (
31) - Translation missing: en.field_position set to 1
Updated by Sage Weil about 12 years ago
- Status changed from 7 to Resolved
- Target version deleted (
v0.43)