[ https://issues.apache.org/jira/browse/CASSANDRA-8897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14560734#comment-14560734 ]
Stefania commented on CASSANDRA-8897: ------------------------------------- Thanks for the comments, as discussed earlier on, it should be clear now. In the meantime I have been working on the cperf test: bq. It would be nice to run some tests that show this change's strengths: if you disable auto-compaction on cstar (not sure if you can do this), and make the memtable size very small, then we can produce a workload with many sstables that still fit in memory. If we aim to write say 4G of data, but perhaps with many overwrites so each operation has to touch multiple files (so perhaps only 400M of data written 10 times, or 4G of data with 10+ clustering values, written with visits=fixed(10)). If we set the memtable size to <= 100Mb, this will likely result in files of <= 30Mb, giving us 120+ sstables. If we constrain the size of the file cache to just 64Mb, say, we should on a random read workload see much more GC activity under the old scheme, and likely reduced throughput. I can disable compaction in the schema and setup the memtable size parameters in cassandra.yaml so as to obtain sstables of approx 30MB. However I am having problems ensuring the overwrite part. Is it enough to run stress 10 times writing 400MB each time or do I need to do anything specific like using visits: fixed(10), which I cannot get to work, or using 10 clustering values (which generate batches too big and I cannot work out how to disable batching using stress). Here is the profile: {code} keyspace: perftesting keyspace_definition: | CREATE KEYSPACE perftesting WITH replication = { 'class': 'SimpleStrategy', 'replication_factor':1}; table: mytest table_definition: CREATE TABLE mytest ( id text, sub_id uuid, data text, PRIMARY KEY(id, sub_id) ) WITH compaction = {'class':'SizeTieredCompactionStrategy', 'enabled':false }; columnspec: - name: id size: gaussian(1..50) population: uniform(1..5000) - name: sub_id cluster: fixed(5000) - name: data size: fixed(1000) insert: partitions: fixed(1) select: fixed(1)/5000 batchtype: LOGGED queries: read: cql: select * from mytest where id = ? LIMIT 10 fields: samerow {code} Here is the command: {code} ./tools/bin/cassandra-stress user profile=~/Documents/tests/8897.yaml ops\(insert=1\) n=300000 -rate threads=50 {code} Here are the warnings: {code} WARN 10:02:18 Batch of prepared statements for [perftesting.mytest] is of size 5140, exceeding specified threshold of 5120 by 20. {code} And this is the problem when adding {{visits: fixed(10)}} to the profile insert section, plus I am not sure it is picked up even if I comment out the line generating the Exception: {code} Exception in thread "main" java.lang.IllegalArgumentException: Unrecognised insert option(s): {visits=fixed(10)} at org.apache.cassandra.stress.StressProfile.getInsert(StressProfile.java:357) at org.apache.cassandra.stress.settings.SettingsCommandUser$1.get(SettingsCommandUser.java:82) at org.apache.cassandra.stress.settings.SettingsCommandUser$1.get(SettingsCommandUser.java:78) at org.apache.cassandra.stress.operations.SampledOpDistributionFactory$1.get(SampledOpDistributionFactory.java:80) at org.apache.cassandra.stress.StressAction$Consumer.<init>(StressAction.java:269) at org.apache.cassandra.stress.StressAction.run(StressAction.java:204) at org.apache.cassandra.stress.StressAction.warmup(StressAction.java:105) at org.apache.cassandra.stress.StressAction.run(StressAction.java:61) at org.apache.cassandra.stress.Stress.main(Stress.java:109) {code} Thanks! :) > Remove FileCacheService, instead pooling the buffers > ---------------------------------------------------- > > Key: CASSANDRA-8897 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8897 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Benedict > Assignee: Stefania > Fix For: 3.x > > Attachments: 9240_test_results.txt, > snapshot-1431582436640-cpu-backtraces.png, > snapshot-1431582436640-cpu-calltree-compression-8897.nps, > snapshot-1431582436640-cpu-calltree-compression-trunk.nps > > > After CASSANDRA-8893, a RAR will be a very lightweight object and will not > need caching, so we can eliminate this cache entirely. Instead we should have > a pool of buffers that are page-aligned. -- This message was sent by Atlassian JIRA (v6.3.4#6332)