2014-11-21 73 views
8

我正在評估在我們的應用程序中的表格之一中創建的墓碑數量。爲此,我嘗試使用nodetool cfstats。這是我如何做到這一點:如何獲得一個cql查詢的墓碑計數?

create table demo.test(a int, b int, c int, primary key (a)); 
insert into demo.test(a, b, c) values(1,2,3); 

現在我正在做同樣的插入如上。所以我期望創建3個墓碑。但是在爲這個柱子家族運行cfstats時,我仍然看到沒有創建墓碑。

nodetool cfstats demo.test 
Average live cells per slice (last five minutes): 0.0 
Average tombstones per slice (last five minutes): 0.0 

現在我試着刪除記錄,但仍然沒有看到任何創建的墓碑。有什麼我在這裏失蹤的嗎?請建議。

BTW一些​​其他細節, *我們使用Java驅動程序 的2.1.1版本*我們正在運行對卡桑德拉2.1.0

+0

作爲啓用此一個供參考,卡桑德拉2.x和1.x的問題了連續擺脫墓碑(即,它會做罰款啓動,但過了一段時間它就會完全停止。) – 2016-06-28 20:31:29

+0

我的意思是'cfstats'命令使用的數據不會很快更新,您將在刪除後看到更改。也許通過給它一分鐘,或使用RussS解決方案。 – 2016-06-28 20:33:32

回答

18

墓碑上計數查詢您的最好的辦法是啓用跟蹤。這將爲您提供查詢的深入歷史記錄,包括必須閱讀多少個墓碑才能完成它。這不會給你總的邏輯計數,但最可能與性能調整更相關。

在cqlsh你可以用

cqlsh> tracing on; 
Now tracing requests. 
cqlsh> SELECT * FROM ascii_ks.ascii_cs where pkey = 'One'; 

pkey | ckey1 | data1 
------+-------+------- 
    One | One | One 

(1 rows) 


Tracing session: 2569d580-719b-11e4-9dd6-557d7f833b69 

activity                 | timestamp | source | source_elapsed 
--------------------------------------------------------------------------+--------------+-----------+---------------- 
                 execute_cql3_query | 08:26:28,953 | 127.0.0.1 |    0 
Parsing SELECT * FROM ascii_ks.ascii_cs where pkey = 'One' LIMIT 10000; | 08:26:28,956 | 127.0.0.1 |   2635 
                 Preparing statement | 08:26:28,960 | 127.0.0.1 |   6951 
          Executing single-partition query on ascii_cs | 08:26:28,962 | 127.0.0.1 |   9097 
              Acquiring sstable references | 08:26:28,963 | 127.0.0.1 |   10576 
               Merging memtable contents | 08:26:28,963 | 127.0.0.1 |   10618 
               Merging data from sstable 1 | 08:26:28,965 | 127.0.0.1 |   12146 
               Key cache hit for sstable 1 | 08:26:28,965 | 127.0.0.1 |   12257 
                Collating all results | 08:26:28,965 | 127.0.0.1 |   12402 
                 Request complete | 08:26:28,965 | 127.0.0.1 |   12638 

http://www.datastax.com/dev/blog/tracing-in-cassandra-1-2

+1

很好的答案。我在想同樣的事。 – Aaron 2014-11-21 16:30:22

+2

感謝RussS的回覆。但我真的不明白哪部分跟蹤實際上講述了讀取的墓碑數量。你能否提供一些更詳細的信息? – PrasanthNath 2014-11-24 04:32:13

+1

你也可以從nodetool cfstats – phact 2014-11-24 14:51:28