[ 
https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16502584#comment-16502584
 ] 

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 0.

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 
[https://github.com/mulugetam/cassandra.git] (requires JDK 10)

> Enable Direct I/O 
> ------------------
>
>                 Key: CASSANDRA-14466
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14466
>             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 [https://bugs.openjdk.java.net/browse/JDK-8164900].
> 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 - 
> https://issues.apache.org/jira/browse/CASSANDRA-9608 
> Please review the patch and let us know your feedback.
> Thanks,
> [^direct_io.patch]
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to