Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
3
-
9223372036854775807
Description
When writing to a region of a file less than file size (either an already existing file or a shared file with multiple writers), writes of less than one page in size must first read in that page.
This results in extremely poor performance. For the random I/O case, there's no easy improvements available, but the sequential case can benefit enormously by using readahead to bring in those pages.
This can be done by using the normal read code w/readahead from the ll_prepare_partial_page function. This works well in the sequential case (3-10x performance improvement) and has no effect on the random case.
Patch & benchmark #s forthcoming shortly.