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