| Summary: | write behind needs to be optimized. | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Raghavendra G <raghavendra> | ||||||
| Component: | write-behind | Assignee: | Raghavendra G <raghavendra> | ||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||||
| Severity: | low | Docs Contact: | |||||||
| Priority: | low | ||||||||
| Version: | 2.0.6 | CC: | gluster-bugs, rabhat | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | Type: | --- | |||||||
| Regression: | RTNR | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Attachments: |
|
||||||||
The setup consists of write-behind on dht. write behind has flush-behind turned on and has a window-size configured to 4MB. write behind is showing under-par performance. This is evident in a booster set-up, where the application is doing large number of small-sized writes. Attached is the valgrind report of the dd on booster doing 1 million writes each of 140 bytes. The report shows the application spending lots of time in traversing the request-queue in write-behind. PATCH: http://patches.gluster.com/patch/1433 in master (performance/write-behind: fine-tune logic of wb_mark_winds) PATCH: http://patches.gluster.com/patch/1434 in master (performance/write-behind: Aggregate adjacent contiguous write-buffers into single iobuf.) PATCH: http://patches.gluster.com/patch/1435 in master (performance/write-behind: remove redundant traversal of write-requests in the wind list in wb_ sync.) PATCH: http://patches.gluster.com/patch/1437 in master (performance/write-behind: reduce list-traversal during wb_mark_unwinds) PATCH: http://patches.gluster.com/patch/1436 in master (performance/write-behind: reduce traversal of request list during wb_mark_winds.) PATCH: http://patches.gluster.com/patch/1438 in master (performance/write-behind: add option "enable-trickling-writes".) PATCH: http://patches.gluster.com/patch/1424 in release-2.0 (performance/write-behind: fine-tune logic of wb_mark_winds) PATCH: http://patches.gluster.com/patch/1425 in release-2.0 (performance/write-behind: Aggregate adjacent contiguous write-buffers into single iobuf.) PATCH: http://patches.gluster.com/patch/1427 in release-2.0 (performance/write-behind: remove redundant traversal of write-requests in the wind list in wb_sync.) PATCH: http://patches.gluster.com/patch/1426 in release-2.0 (performance/write-behind: reduce list-traversal during wb_mark_unwinds) PATCH: http://patches.gluster.com/patch/1428 in release-2.0 (performance/write-behind: reduce traversal of request list during wb_mark_winds.) PATCH: http://patches.gluster.com/patch/1429 in release-2.0 (performance/write-behind: add option "enable-trickling-writes".) Created attachment 74 [details]
text shaping patch for mc-4.5.42
callgrind report for recital after optimization
PATCH: http://patches.gluster.com/patch/1446 in master (performance/write-behind: reduce usage of iov_length.) PATCH: http://patches.gluster.com/patch/1447 in master (performance/write-behind: store the current window size in wb_file.) PATCH: http://patches.gluster.com/patch/1448 in master (performance/write-behind: store currently aggregated data size in wb_file) PATCH: http://patches.gluster.com/patch/1443 in release-2.0 (performance/write-behind: reduce usage of iov_length.) PATCH: http://patches.gluster.com/patch/1444 in release-2.0 (performance/write-behind: store the current window size in wb_file.) PATCH: http://patches.gluster.com/patch/1445 in release-2.0 (performance/write-behind: store currently aggregated data size in wb_file) PATCH: http://patches.gluster.com/patch/1838 in master (performance/write-behind: Add enable-trickling-writes to volume_options.) |
Created attachment 73 [details] This patch fixes the -x option of the cp command.