我最近試圖將讀操作的工作量發送到雙節點Cassandra集羣(版本2.0.9,rf = 2)。我的意圖是以高於後端服務器容量的速率發送一些讀取數據,從而壓倒他們並導致服務器端排隊。爲此,我使用datastax java驅動程序(cql版本2)以異步方式運行我的操作(換句話說,調用線程不會阻止等待響應)。Cassandra節流工作量
問題是我無法達到足夠高的發送速率來超載我的後端服務器。我發送的請求數正在被Cassandra扼殺。爲了證實這一點,我已經同時從兩臺不同的機器上運行客戶端,並且每單位時間發送的請求總數仍然達到峯值。我想知道是否有Cassandra用來限制正在接收的請求數量的機制?否則,還有什麼可能導致這種行爲?
我不認爲是這樣。 cassandra節點以及使用10Gig鏈接的客戶端相互連接。我在監控網絡流量的同時對兩個Tx/Rx運行我的實驗,並且從未超過100 mb/s。我認爲其他機制是這裏的罪魁禍首。 –
通過增加插入條目的大小,您可以輕鬆驗證您的網絡帶寬不是問題。 – DineMartine
同樣,您可以減小此大小以強制cassandra等待處理的請求。 – DineMartine