我們目前正在評估couchbase作爲memcached替代品。我們的設置如下所示:Couchbase:20k項目卡在Tap Queue中
php - > localhost moxi - > couchbase存儲區(總存儲區大小= 10240 MB(2048 MB x 5個節點,副本數爲1)) 服務器有16GB RAM,並且支持SSD。
我們以大約400 ops/s的速度插入,幾天沒有問題。當我們達到約1300萬件物品時。我們發現我們忘記在我們的testsetup中實現刪除功能,並且很多密鑰沒有設置過期。
重新開始,我們通過web界面刷新存儲桶。這是我們問題開始的地方。 我們開始看到我們有臨時的奧姆,補償,並且龍頭隊列中充滿了20k個物品。排水和填充率幾乎相同。見所附截圖 什麼也逮住了我們的眼球是節點4只有220K項目,其中每個人有大約1.39M 不知怎的,它看起來像複製搞砸了的東西,但即時通訊相對較新的couchbase。任何提示,建議? - 更多詳情,請參閱:http://www.couchbase.com/communities/q-and-a/20k-items-stuck-tap-queue#sthash.v9MxNnTk.dpuf
從羣集中刪除發生故障的節點後,問題在短時間內得到解決。 因此,現在有四個節點留在集羣中,幾個小時後,同樣的情況再次發生在另一個節點上。我們嘗試將現在失敗的節點設置爲FailOver狀態。這再次解決了問題,但在重新添加節點後,該節點上又出現了同樣的現象。
我們意識到其他的事情是: *三出四個節點的有成千上萬在他們的TAP複製隊列中的項目,而是一個 (「失敗的一個」)有0 *此外,四分之三的節點有回退率大約爲400,但其中一個(「失敗的」)爲0。 *只有失敗的人有大量的「Temp OOMs per second」,但其他三個都有0.
現象似乎消失了,如果我們通過禁用兩個寫入couchbase的軟件項目中的一個的couchbase-writes來降低服務器的負載。 但是,如果我們再次啓用寫入,約10分鐘後,我們可以看到這款在memcached.log失敗的節點上:
Tue Dec 17 12:29:05.010547 CET 3: (CENSORED) Received error[86] from mccouch for unknown
Tue Dec 17 12:29:05.010576 CET 3: (CENSORED) Retry notify CouchDB of update, vbucket=277 rev=522
Tue Dec 17 12:29:08.748103 CET 3: (CENSORED) Received error[86] from mccouch for unknown
Tue Dec 17 12:29:08.748257 CET 3: (CENSORED) Retry notify CouchDB of update, vbucket=321 rev=948
Tue Dec 17 12:40:17.354448 CET 3: (CENSORED) Received error[86] from mccouch for unknown
Tue Dec 17 12:40:17.354476 CET 3: (CENSORED) Retry notify CouchDB of update, vbucket=303 rev=491
此錯誤,那麼會發生約四小時內5次: Tue Dec 17 14:19:32.145071 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
並經過這四個分,這開始瞬間連同這個「錯誤從mccouch」濫發這個(也許,由於負載重增加,因爲晚上我們的頁面生成比早晨/中午更負載):
Tue Dec 17 16:42:30.875343 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:42:36.493317 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:43:25.239876 CET 3: (CENSORED) Received error[86] from mccouch for unknown
Tue Dec 17 16:43:25.240052 CET 3: (CENSORED) Retry notify CouchDB of update, vbucket=296 rev=483
Tue Dec 17 16:43:25.903997 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:43:31.906178 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:43:36.913045 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:43:42.919114 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:43:48.920354 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:43:54.924017 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
Tue Dec 17 16:44:00.928572 CET 3: (CENSORED) TAP (Producer) eq_tapq:[email protected] - Suspend for 5.00 secs
我們不知道這裏發生了什麼,爲什麼這個失敗節點似乎拒絕每一個複製並拋出這個錯誤。 你有什麼想法嗎?
感謝您的來自科隆的所有幫助和問候,
安迪!