我覺得這個問題以前會被問到,但是我找不到。如果這是重複,請原諒我。檢查MongoDB的排隊讀寫
我在使用Heroku託管的Node.js上構建一個服務,並使用Compose託管的MongoDB。在負載較重的情況下,延遲最可能來自數據庫,因爲服務層中沒有任何CPU佔用太多。因此,當MongoDB超載時,我想立即返回一個HTTP 503而不是等待超時。
我也在使用REDIS,REDIS有一個功能,可以檢查排隊命令的數量(redisClient.command_queue.length)。有了這個功能,我可以立即知道REDIS是否備份。 MongoDB有類似的東西嗎?
我發現迄今爲止最好的選擇是通過this command輪詢服務器的狀態,但(1)我希望有一些客戶端,因爲在輪詢間隔內可能出現尖峯導致問題,(2) )我並不確定我想要採取什麼行動。第二部分帶給我一個後續問題...
我不完全瞭解MondoDB客戶端如何與服務器一起工作。每個客戶端實例共享一個連接(在我的情況下,每個進程)?查詢和寫入是否在本地或服務器上排隊?或者,是否爲每個查詢/寫入打開了一個連接,直到數據庫連接池耗盡?如果後者是這種情況,那麼我似乎可能要密切關注開放的聯繫。除了在查詢狀態時,MongoDB服務器是否在其他時間返回這些信息?
謝謝!
這僅僅是那種我一直在尋找的信息。非常感謝! –