2017-01-02 69 views
2

我正在使用Cassandra docker latest。 我正在運行多個容器,每個運行一個獨立的Cassandra實例。 每個實例都有一個本地nvme SSD來存儲數據並提交日誌。 我正在與YCSB一起測試性能 - 工作量(50%讀取50%插入)100M記錄。在單個主機上有2個容器的 我得到〜23K TPS。卡桑德拉讀/寫帶寬

我不明白的是nvme ssd性能: 我在每個ssd上看到穩定的〜2GB/s讀取帶寬,只有〜20MB/s的寫入。寫操作只能在短時間內完成 - 大多數情況下不會寫入磁盤,偶爾可以看到300MB/s的寫入峯值。

是Cassandra的預期行爲?磁盤讀取和寫入之間的速率如此巨大?

(主機有65GB內存)

問候,

大衛

+0

什麼是您的存儲驅動程序?查看https://docs.docker.com/engine/userguide/storagedriver/selectadriver/查找 – user2915097

回答

0

是的,聽起來我的權利。讀取更加昂貴,而且寫入很便宜。既然你不能加入這個想法就是讓每個查詢只能從一個分區讀取。你通過反規範化和多次寫入而不是一次完成這個任務。

當memtables刷新它將導致大量的寫入流量,這可能導致這些大的高峯。讀取會受到很大的影響,並且取決於壓縮策略,可能需要很多IO。那麼也會更加穩定(儘管每10秒仍然突發)寫入提交日誌。您可能需要結算write path上的文檔或查看這些readwrite路徑介紹。如果您搜索它,也有很多其他在線參考資料。