2015-06-09 32 views
0

我在這個問題上陷入了將近一週的困境。我想獲得你的建議和幫助。我也一直在爲簡單表讀取延遲問題。我只是創建了4k行的簡單表格,當我讀取500行時,它是在5ms內獲取的,但如果我增加1000,則獲取大約10ms,如果採用4k大約需要50ms。我嘗試檢查統計信息,網絡,iostat,tpstats,堆,但無法得知問題的線索。任何人都可以幫助我解決分配給我的高優先級問題。非常感謝你提前。讀取時間每100行增加1ms

Tracing session: b4287090-0ea5-11e5-a9f9-bbcaf44e5ebc 

activity                             | timestamp     | source  | source_elapsed 
-----------------------------------------------------------------------------------------------------------------------------+----------------------------+---------------+---------------- 
                              Execute CQL3 query | 2015-06-09 07:47:35.961000 | 10.65.133.202 |    0 
               Parsing select * from location_eligibility_by_type12; [SharedPool-Worker-1] | 2015-06-09 07:47:35.961000 | 10.65.133.202 |    33 
                        Preparing statement [SharedPool-Worker-1] | 2015-06-09 07:47:35.962000 | 10.65.133.202 |    62 
                      Computing ranges to query [SharedPool-Worker-1] | 2015-06-09 07:47:35.962000 | 10.65.133.202 |   101 
Submitting range requests on 1537 ranges with a concurrency of 1537 (1235.85 rows per range expected) [SharedPool-Worker-1] | 2015-06-09 07:47:35.962000 | 10.65.133.202 |   314 
              Submitted 1 concurrent range requests covering 1537 ranges [SharedPool-Worker-1] | 2015-06-09 07:47:35.968000 | 10.65.133.202 |   6960 
     Executing seq scan across 1 sstables for [min(-9223372036854775808), min(-9223372036854775808)] [SharedPool-Worker-2] | 2015-06-09 07:47:35.968000 | 10.65.133.202 |   7033 
                   Read 4007 live and 0 tombstoned cells [SharedPool-Worker-2] | 2015-06-09 07:47:36.045000 | 10.65.133.202 |   84055 
                      Scanned 1 rows and matched 1 [SharedPool-Worker-2] | 2015-06-09 07:47:36.046000 | 10.65.133.202 |   84109 
                              Request complete | 2015-06-09 07:47:36.052498 | 10.65.133.202 |   91498 
+0

你可以發佈實際的cql查詢嗎? – Aaron

+0

@ BryceAtNetwork23感謝您的回覆。它的簡單查詢。 select * from table; 我甚至試過用分區鍵的where條件查詢。 表有3個簡單的列(type,eligibile,location),typeid爲主鍵。所有提供讀取延遲,因爲我增加了查詢限制。直到500rows我得到10ms以下。我完全困惑於它可能成爲問題的地方。 –

+0

我很困惑,您是否問爲什麼返回大量數據比爲更少量數據需要更長的時間? – RussS

回答

0

選擇地段卡桑德拉行往往不可預測的長鏡頭,因爲查詢將被路由到更多的機器。

如果您需要高讀取性能,最好避免此類模式。更好的方法是將數據存儲在單個行中,並通過獲得更高的複製因子來分散節點間的負載。寬行通常是優選的:http://www.slideshare.net/planetcassandra/cassandra-summit-2014-39677149