cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Shook (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10249) Reduce over-read for standard disk io by 16x
Date Wed, 02 Sep 2015 17:40:46 GMT


Jonathan Shook commented on CASSANDRA-10249:

I'm not so sure that this is a niche. Compression is not a default win, and I'd prefer that
it be "unset" and require users to pick "compressed" or "uncompressed" in the DDL. But we
don't do that. So, compressed is a default. Still, uncompressed is not quite a niche.

I'm less sure about the buffered IO angle. If these are reasonable options for some scenarios,
then I don't feel quite right calling them niche. One persons niche is another's standard.

For those that need these settings to get the most of their current hardware, the large minimum
read size is, in fact, a deoptimization from normal.

> Reduce over-read for standard disk io by 16x
> --------------------------------------------
>                 Key: CASSANDRA-10249
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Albert P Tobey
>             Fix For: 2.1.x
>         Attachments: patched-2.1.9-dstat-lvn10.png, stock-2.1.9-dstat-lvn10.png, yourkit-screenshot.png
> On read workloads, Cassandra 2.1 reads drastically more data than it emits over the network.
This causes problems throughput the system by wasting disk IO and causing unnecessary GC.
> I have reproduce the issue on clusters and locally with a single instance. The only requirement
to reproduce the issue is enough data to blow through the page cache. The default schema and
data size with cassandra-stress is sufficient for exposing the issue.
> With stock 2.1.9 I regularly observed anywhere from 300:1  to 500 disk:network ratio.
That is to say, for 1MB/s of network IO, Cassandra was doing 300-500MB/s of disk reads, saturating
the drive.
> After applying this patch for standard IO mode
the ratio fell to around 100:1 on my local test rig. Latency improved considerably and GC
became a lot less frequent.
> I tested with 512 byte reads as well, but got the same performance, which makes sense
since all HDD and SSD made in the last few years have a 4K block size (many of them lie and
say 512).
> I'm re-running the numbers now and will post them tomorrow.

This message was sent by Atlassian JIRA

View raw message