Are you guys using light weight transactions in your write path?

On Thu, Feb 11, 2016 at 12:36 AM, Fabrice Facorat <fabrice.faco...@gmail.com
> wrote:

> Are your commitlog and data on the same disk ? If yes, you should put
> commitlogs on a separate disk which don't have a lot of IO.
>
> Others IO may have great impact impact on your commitlog writing and
> it may even block.
>
> An example of impact IO may have, even for Async writes:
>
> https://engineering.linkedin.com/blog/2016/02/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic
>
> 2016-02-11 0:31 GMT+01:00 Mike Heffner <m...@librato.com>:
> > Jeff,
> >
> > We have both commitlog and data on a 4TB EBS with 10k IOPS.
> >
> > Mike
> >
> > On Wed, Feb 10, 2016 at 5:28 PM, Jeff Jirsa <jeff.ji...@crowdstrike.com>
> > wrote:
> >>
> >> What disk size are you using?
> >>
> >>
> >>
> >> From: Mike Heffner
> >> Reply-To: "user@cassandra.apache.org"
> >> Date: Wednesday, February 10, 2016 at 2:24 PM
> >> To: "user@cassandra.apache.org"
> >> Cc: Peter Norton
> >> Subject: Re: Debugging write timeouts on Cassandra 2.2.5
> >>
> >> Paulo,
> >>
> >> Thanks for the suggestion, we ran some tests against CMS and saw the
> same
> >> timeouts. On that note though, we are going to try doubling the instance
> >> sizes and testing with double the heap (even though current usage is
> low).
> >>
> >> Mike
> >>
> >> On Wed, Feb 10, 2016 at 3:40 PM, Paulo Motta <pauloricard...@gmail.com>
> >> wrote:
> >>>
> >>> Are you using the same GC settings as the staging 2.0 cluster? If not,
> >>> could you try using the default GC settings (CMS) and see if that
> changes
> >>> anything? This is just a wild guess, but there were reports before of
> >>> G1-caused instabilities with small heap sizes (< 16GB - see
> CASSANDRA-10403
> >>> for more context). Please ignore if you already tried reverting back
> to CMS.
> >>>
> >>> 2016-02-10 16:51 GMT-03:00 Mike Heffner <m...@librato.com>:
> >>>>
> >>>> Hi all,
> >>>>
> >>>> We've recently embarked on a project to update our Cassandra
> >>>> infrastructure running on EC2. We are long time users of 2.0.x and are
> >>>> testing out a move to version 2.2.5 running on VPC with EBS. Our test
> setup
> >>>> is a 3 node, RF=3 cluster supporting a small write load (mirror of our
> >>>> staging load).
> >>>>
> >>>> We are writing at QUORUM and while p95's look good compared to our
> >>>> staging 2.0.x cluster, we are seeing frequent write operations that
> time out
> >>>> at the max write_request_timeout_in_ms (10 seconds). CPU across the
> cluster
> >>>> is < 10% and EBS write load is < 100 IOPS. Cassandra is running with
> the
> >>>> Oracle JDK 8u60 and we're using G1GC and any GC pauses are less than
> 500ms.
> >>>>
> >>>> We run on c4.2xl instances with GP2 EBS attached storage for data and
> >>>> commitlog directories. The nodes are using EC2 enhanced networking
> and have
> >>>> the latest Intel network driver module. We are running on HVM
> instances
> >>>> using Ubuntu 14.04.2.
> >>>>
> >>>> Our schema is 5 tables, all with COMPACT STORAGE. Each table is
> similar
> >>>> to the definition here:
> >>>> https://gist.github.com/mheffner/4d80f6b53ccaa24cc20a
> >>>>
> >>>> This is our cassandra.yaml:
> >>>>
> https://gist.github.com/mheffner/fea80e6e939dd483f94f#file-cassandra-yaml
> >>>>
> >>>> Like I mentioned we use 8u60 with G1GC and have used many of the GC
> >>>> settings in Al Tobey's tuning guide. This is our upstart config with
> JVM and
> >>>> other CPU settings:
> https://gist.github.com/mheffner/dc44613620b25c4fa46d
> >>>>
> >>>> We've used several of the sysctl settings from Al's guide as well:
> >>>> https://gist.github.com/mheffner/ea40d58f58a517028152
> >>>>
> >>>> Our client application is able to write using either Thrift batches
> >>>> using Asytanax driver or CQL async INSERT's using the Datastax Java
> driver.
> >>>>
> >>>> For testing against Thrift (our legacy infra uses this) we write
> batches
> >>>> of anywhere from 6 to 1500 rows at a time. Our p99 for batch
> execution is
> >>>> around 45ms but our maximum (p100) sits less than 150ms except when it
> >>>> periodically spikes to the full 10seconds.
> >>>>
> >>>> Testing the same write path using CQL writes instead demonstrates
> >>>> similar behavior. Low p99s except for periodic full timeouts. We
> enabled
> >>>> tracing for several operations but were unable to get a trace that
> completed
> >>>> successfully -- Cassandra started logging many messages as:
> >>>>
> >>>> INFO  [ScheduledTasks:1] - MessagingService.java:946 - _TRACE messages
> >>>> were dropped in last 5000 ms: 52499 for internal timeout and 0 for
> cross
> >>>> node timeout
> >>>>
> >>>> And all the traces contained rows with a "null" source_elapsed row:
> >>>>
> https://gist.githubusercontent.com/mheffner/1d68a70449bd6688a010/raw/0327d7d3d94c3a93af02b64212e3b7e7d8f2911b/trace.out
> >>>>
> >>>>
> >>>> We've exhausted as many configuration option permutations that we can
> >>>> think of. This cluster does not appear to be under any significant
> load and
> >>>> latencies seem to largely fall in two bands: low normal or max
> timeout. This
> >>>> seems to imply that something is getting stuck and timing out at the
> max
> >>>> write timeout.
> >>>>
> >>>> Any suggestions on what to look for? We had debug enabled for awhile
> but
> >>>> we didn't see any msg that pointed to something obvious. Happy to
> provide
> >>>> any more information that may help.
> >>>>
> >>>> We are pretty much at the point of sprinkling debug around the code to
> >>>> track down what could be blocking.
> >>>>
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Mike
> >>>>
> >>>> --
> >>>>
> >>>>   Mike Heffner <m...@librato.com>
> >>>>   Librato, Inc.
> >>>>
> >>>
> >>
> >>
> >>
> >> --
> >>
> >>   Mike Heffner <m...@librato.com>
> >>   Librato, Inc.
> >>
> >
> >
> >
> > --
> >
> >   Mike Heffner <m...@librato.com>
> >   Librato, Inc.
> >
>
>
>
> --
> Close the World, Open the Net
> http://www.linux-wizard.net
>

Reply via email to