cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mulugeta Mammo (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
Date Tue, 05 Jun 2018 22:24:00 GMT


Mulugeta Mammo commented on CASSANDRA-14466:

The results we posted are based on a read_ahead_kb value of 8, a chunk size of 64KB and a
uniform distribution invocation:

{{cassandra-stress user profile=$CASSANDRA_TOOLS/cqlstress-insanity-example.yaml  ops\(simple1=1\)
no-warmup cl=ONE duration=300s -mode native cql3 -pop dist=uniform\(1..1200000000\) -node
server_ip -rate threads=288}}

And no we don’t see any significant difference if we set the read_ahead_kb to 0. For a buffered
run with read_ahead_kb set to 0 vs 8, we observed just a 5% increase in throughput for the

Also, for all of our runs, the Cassandra caches (row cache, key cache, etc.) were disabled.
For a cacheable data, we believe a better solution is to have the caches enabled and tuned
instead of relying on the page cache. Generally, we believe relying on the page cache is not
a good strategy as the application has no control over the caching. The problem also gets
worse if other applications, e.g. a Spark analytics workload, are running on the same node.

You may download and test it, git clone -b direct_io [] (requires
JDK 10)

> Enable Direct I/O 
> ------------------
>                 Key: CASSANDRA-14466
>                 URL:
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Local Write-Read Paths
>            Reporter: Mulugeta Mammo
>            Priority: Major
>         Attachments: direct_io.patch
> Hi,
> JDK 10 introduced a new API for Direct IO that enables applications to bypass the file
system cache and potentially improve performance. Details of this feature can be found at
> This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default,
we have disabled this feature; but it can be enabled using a  new configuration parameter,
enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured
a throughput gain of up to 60% on flash drives.
> The patch requires JDK 10 Cassandra Support - 
> Please review the patch and let us know your feedback.
> Thanks,
> [^direct_io.patch]

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message