Translators/performance/writebehind
From GlusterDocumentation
Translator performance/writebehind
In general, write operations are slower than read. The write-behind translator improves write performance significantly over read by using "aggregated background write" technique. That is, multiple smaller write operations are aggregated into fewer larger write operations and written in background (non-blocking). Write-behind on the client aggregates small writes into larger ones reducing network packet counts. On the server side, it helps if the writes are coming in very small chunks by reducing the diskhead seek() time.
volume writebehind type performance/write-behind option cache-size 3MB # default is equal to aggregate-size option flush-behind on # default is 'off' subvolumes <x> end-volume
- cache-size (or window-size)
This option determines the total size of write buffer used with one file descriptor. It is also known as cache-size.
- flush-behind
This option is also given for increasing the performance of handling lots of small files. With this option the close()/flush() can be pushed to the back-ground, allowing the client to process the next request. It's off by default.
- enable-O_SYNC
This option causes write-behind to be turned off for filehandles opened for synchronous writing with the O_SYNC flag. This allows you to benefit from write-behind for non-critical files without breaking applications such as DBMSs that rely on synchronous writes.


