You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Rick Branson (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2011/10/27 19:52:32 UTC
[jira] [Issue Comment Edited] (CASSANDRA-3411) Pre-allocated,
Recycled Commitlog Segment Files
[ https://issues.apache.org/jira/browse/CASSANDRA-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13137324#comment-13137324 ]
Rick Branson edited comment on CASSANDRA-3411 at 10/27/11 5:51 PM:
-------------------------------------------------------------------
This patch pre-allocates the 128MB segment files, writes using memory-mapped I/O, and recycles the segment files once they're safe to be reused. End-to-end performance gains found across the board, increasing with the size of the row mutation.
EDIT: should also mention that the number of segments initially allocated is controlled by commitlog_preallocate_segments in cassandra.yaml and defaults to 4. If more are needed, they will be created on-demand and deleted when no longer necessary.
was (Author: rbranson):
This patch pre-allocates the 128MB segment files, writes using memory-mapped I/O, and recycles the segment files once they're safe to be reused. End-to-end performance gains found across the board, increasing with the size of the row mutation.
EDIT: should also mention that the number of segments initially allocated is controlled by commitlog_preallocate_segments in cassandra.yaml and defaults to 4. If more than 4 commit log segments are needed, they will be created on-demand and deleted when no longer necessary.
> Pre-allocated, Recycled Commitlog Segment Files
> -----------------------------------------------
>
> Key: CASSANDRA-3411
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3411
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Rick Branson
> Priority: Minor
> Attachments: 001-pre-allocated-recycled-commitlog-segment-files-CASSANDRA-3411.patch
>
>
> An approach for improving commitlog performance is to pre-allocate the full 128MB segment files and reuse them once all the mutations have been flushed. Pre-allocation allows writes to be performed without modifying the file size metadata, and should (in theory) allow the filesystem to allocate a contiguous block of space for the file. Recycling the segment files prevents the overhead of pre-allocation from impacting overall performance.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira