[ https://issues.apache.org/jira/browse/CASSANDRA-3578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13801496#comment-13801496 ]
Vijay edited comment on CASSANDRA-3578 at 10/22/13 5:28 AM: ------------------------------------------------------------ Found the bottleneck in the current! Actually this happens during buffer.force()... CL.add queue is capped by commitlog_periodic_queue_size {code} public int commitlog_periodic_queue_size = 1024 * FBUtilities.getAvailableProcessors(); {code} Hence, till we flush() (is called every 10 seconds) the writes to the CL is blocked. Hope that makes sense... was (Author: vijay2...@yahoo.com): Found the bottleneck in the current! Actually this happens during buffer.force()... CL.add queue is capped by commitlog_periodic_queue_size {code} public int commitlog_periodic_queue_size = 1024 * FBUtilities.getAvailableProcessors(); {code} Hence, till we flush() (is called every 10 seconds) the writes to the CL us blocked. Hope that makes sense... > Multithreaded commitlog > ----------------------- > > Key: CASSANDRA-3578 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3578 > Project: Cassandra > Issue Type: Improvement > Reporter: Jonathan Ellis > Assignee: Vijay > Priority: Minor > Labels: performance > Attachments: 0001-CASSANDRA-3578.patch, ComitlogStress.java, > Current-CL.png, Multi-Threded-CL.png, parallel_commit_log_2.patch > > > Brian Aker pointed out a while ago that allowing multiple threads to modify > the commitlog simultaneously (reserving space for each with a CAS first, the > way we do in the SlabAllocator.Region.allocate) can improve performance, > since you're not bottlenecking on a single thread to do all the copying and > CRC computation. > Now that we use mmap'd CommitLog segments (CASSANDRA-3411) this becomes > doable. > (moved from CASSANDRA-622, which was getting a bit muddled.) -- This message was sent by Atlassian JIRA (v6.1#6144)