Opscenter 的「寫入請求」計數顯示為 ops/sec 到底代表什麼?

Opscenter 的「寫入請求」計數顯示為 ops/sec 到底代表什麼?

我最近開始了解並使用 cassandra。

我建立了兩個列族。對於 CF1,寫入是插入具有所有列值的唯一行。例如:插入操作的順序可能是這樣的:

      Key Col1  Col2   Col3
      k1  c11   c12   c13
      k2  c21   c22   c23

對於CF2。寫入是插入到行的帶時間戳的列中。例如:插入操作的順序可能是這樣的:

     Key  timeCol1  timeCol2
     k1   ct11
     k1   ct11        ct12
     k2   ct21
     k2   ct21        ct22

我正在使用 YCSB 並使用基於 Thrift 的client.batch_mutate()稱呼。對於 CF1,我透過呼叫發送一行的所有列值。對於 CF2,我發送一行的新列值。

現在假設 opscenter 報告「寫入請求」為 1000營運/sec 當記錄計數為 10000 筆記錄時。

從 opscenter 的角度來看,操作意味著什麼?這是否意味著跨所有列族進行唯一的行插入?這是否意味著一行中每個突變的計數? opscenter 如何辨識唯一操作?從應用程式的角度來看,操作對兩個列族來說意味著不同的方式。

有人可以指導我嗎?

謝謝,阿倫

答案1

「寫入請求」和「讀取請求」指標表示來自外部客戶端的操作數量,因此單一batch_mutate呼叫是1個請求,無論它包含多少個突變。

「CF:本地寫入」和「CF:本地讀取」指標表示在本地節點(通常來自協調器節點)接收到的操作數。對於單一插入,「CF:本地寫入」的數量將等於該鍵空間的「寫入請求」x RF。對於batch_mutate調用,批次內的每個突變都在「CF:本地寫入」層級單獨計數。

這些操作僅在行級別,並且沒有基於所涉及的資料的任何類型的智慧處理/合併。例如,執行相同的更新查詢兩次將產生 2 個操作。

相關內容