On Thu, 9 Nov 2017, zengran zhang wrote: > Hi all: > we found that partial read will cause full stripe read in now ec > impl, for example: > we have 4 chunks per stripe, 4K size per chunks and 16K per > stripe, when we read rand 2K in a stripe,the reads > will amplify to full stripe(16K +8K(Parity)).. Right. > i did not see any checksum or buffer related factor except the ec > extentcache.does the extentcache is the purpuse of the mechanism? > now we want increase the stripe width to improve the small random raed > performance, but the mechanism limit the result... This is definitely an improvement we're interested in. I don't remember what the issue with the previous PR was, but it appears to predate the EC overwrites work (which merged about a year ago), so it will certainly need to be reimplemented. The extentcache is there to support the read/modify/write behavior for sub-stripe overwrites. Whatever we do for small substripe reads will need to cooperate with that cache. If you're interested in tackling this, that would be fantastic! sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html