Hi!

I have 2 questions related to our current benchmarking afforts:

1) We use C* v2.1.2 and we have the following keyspaces

*|cqlsh>  SELECT  *  FROM  system.schema_keyspaces;
 keyspace_name|  durable_writes|  strategy_class|  strategy_options
---------------+----------------+---------------------------------------------+----------------------------
        system|            True|  org.apache.cassandra.locator.LocalStrategy|   
                       {}
     system_traces|           False|  org.apache.cassandra.locator.SimpleStrategy|  
{"replication_factor":"2"}
       a1_ks|           False|  org.apache.cassandra.locator.SimpleStrategy|  
{"replication_factor":"2"}|*

We have two disks. Data directory is on sda. Commitlog is on sdb. We do 100% writes into a1_ks.user_table .

Watching IO activities we've noticed that C* write something (mutations) into commitlog. But it looks strange because we disabled durable writes for a1_ks. May it be any system activities flushed into commitlog?

2) We set the following parameters:

*|# memtable_heap_space_in_mb: 2048
memtable_offheap_space_in_mb: 40960

memtable_cleanup_threshold: 0.99
memtable_allocation_type: offheap_objects|*

And we expect all the data to be written to RAM only (considering schema settings from 1) and expect that flush will not be triggered until available memtable offheap space reaches ~30GB. But flushes looks triggered before that limit. System monitor (we have all Linux statistics collected by sar utility) shows ~16GB RAM is in use at that moment (linux+jvm+heap+...). We are possible misunderstand the configuration, are we?

Our goal at this stage is to achieve maximum write performance with durable_writes = false and replication factor 2 by utilizing only network (we have 10GbE), not being hit by disk capabilities. The are using YCSB and inserting 30 000 000 records 1kb each, and having 120 GB RAM per server. Current throughput is ~120k ops/sec, 1 YCSB node and 3 C* nodes.

--
Thanks,
Serj

Reply via email to