You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Dongfeng Lu <dl...@yahoo.com> on 2016/05/06 21:43:34 UTC
Read Latency: How is it computed?
This should be straight forward, but I would like to have a confirmation from the experts. I have the following 2 tables,
CREATE TABLE event (
event_id uuid,
... 38 attributes ...
PRIMARY KEY (event_id)
)
CREATE TABLE event_index (
index_key text,
time_token timeuuid,
event_id uuid,
PRIMARY KEY (index_key, time_token)
)
First I query the event_index table.
SELECT event_id FROM event_index WHERE index_key in ('key1', 'key2', ... 'key12') AND time_token > e1e0ede4-131e-11e6-aa76-7ff6a12535da AND time_token <= 077b0930-133f-11e6-8080-808080808080 ORDER BY time_token ASC LIMIT 2000
Let's say we start from scratch, and let's say I do get 2000 rows for the 12 keys in 100ms (an arbitrary easy number), what would the Read Latency from "noodtool cfstats keyspace.event_index" say? Is it 100/2000 = 0.05 ms (by 2000 CQL rows), or 100/12 = 8.33 ms (by 12 C* partition rows), or 100 ms determined by 1 query?
Then I used "event_id" from the above query and construct a new query.
SELECT * FROM event where event_id in ('event_id1', 'event_id2', ... 'event_id2000')
If it takes 2 secs to return, would the Read Latency from "noodtool cfstats keyspace.event" be 2000ms/2000 = 1 ms (2000 CQL rows = 2000 C* partition rows)?
What I have in my production looks like this
$ nodetool cfstats keyspace.event_index
Keyspace: keyspace
Read Latency: 3.3920196591165936 ms.
Write Latency: 0.01604441562534844 ms.
Table: event_index
Local read latency: 6.270 ms
Local write latency: 0.021 ms
----------------
$ nodetool cfstats keyspace.event
Keyspace: keyspace
Read Latency: 1.2564584604030888 ms.
Write Latency: 0.06379633105369285 ms.
Table: event
Local read latency: 1.056 ms
Local write latency: 0.084 ms
----------------
It looks to me that Read Latency is determined by C* partition rows since the latency for "event_index" is larger than for "event" table. Could C* guru confirm, or correct me if I am wrong?
Thanks,Dongfeng