You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Eric Evans (JIRA)" <ji...@apache.org> on 2016/06/15 16:07:09 UTC

[jira] [Commented] (CASSANDRA-11940) Look into better default file_cache_size for 2.2

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

Eric Evans commented on CASSANDRA-11940:
----------------------------------------

In the plot below, nodes cerium, praseodymium (worst. hostname. evar.), and xenon are under a workload consisting primarily of random reads.  At ~11:00, {{disk_access_mode}} is changed from {{auto}} to {{mmap_index_only}} on cerium and praseodymium only.  When this happens, disk read throughput drops dramatically, as does the number of major page faults generated by Cassandra (from ~280/s to ~15/s).

Over the course of this run, I increased {{file_cache_size_in_mb}} from 512, to 768, 1024, and 2048, with no observable difference to disk read throughput, or the rate of major page faults.

These machines are 12-way (w/ hyperthreading), 16G RAM, and rotational disks.  They have 4G heaps (though raised to 6G for the {{file_cache_size_in_mb: 2048}} test)

!abnormal disk read throughput.png|width=960!

{noformat}
CREATE TABLE "local_group_wikipedia_T_parsoid_html".data (
    "_domain" text,
    key text,
    rev int,
    tid timeuuid,
    "_del" timeuuid,
    "content-location" text,
    "content-sha256" blob,
    "content-type" text,
    "latestTid" timeuuid,
    tags set<text>,
    value blob,
    PRIMARY KEY (("_domain", key), rev, tid)
) WITH CLUSTERING ORDER BY (rev DESC, tid DESC)
    AND bloom_filter_fp_chance = 0.1
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'tombstone_threshold': '0.02', 'unchecked_tombstone_compaction': 'true', 'base_time_seconds': '45', 'class': 'org.apache.cassandra.db.compaction.DateTieredCompactionStrategy'}
    AND compression = {'chunk_length_kb': '512', 'sstable_compression': 'org.apache.cassandra.io.compress.DeflateCompressor'}
    AND dclocal_read_repair_chance = 0.0
    AND default_time_to_live = 0
    AND gc_grace_seconds = 86400
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99.0PERCENTILE';
{noformat}

> Look into better default file_cache_size for 2.2
> ------------------------------------------------
>
>                 Key: CASSANDRA-11940
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11940
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: T Jake Luciani
>            Assignee: T Jake Luciani
>             Fix For: 2.2.x
>
>         Attachments: abnormal disk read throughput.png
>
>
> CASSANDRA-8464 added support for mmapped decompression where in version <= 2.1 the reads were all decompressed in standard heap buffers.
> Since the usage of the file_cache is based solely on the buffer capacity we should/can make this much larger in 2.2 when the disk access mode is mmap.  
> The downside of this cache being too small is made worse by 8464 since the buffers are mmapped/unmapped causing explicit page faults.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)