2012-08-31 44 views
1

處理的解釋,我有上運行mongoS一個選擇查詢,在分片環境中沒有問題,但我的問題是:需要在選擇查詢如何通過MongoDB的

如果有2碎片服務器安裝和運行find通過應用層查詢,分片環境的哪一部分負責執行查詢?

我無法看到任何實例控制檯中的任何更改,也沒有創建新進程。我通過在本地實施的分片設置上執行3000 find查詢來測試這一點。

任何人都可以解釋我在理解上的錯誤,或者發現語句不會在服務器上加載。

如何處理的MongoDB選擇或讀取操作?

我非常明白這一點。 預先感謝回覆

+0

你能解釋一下「設置2個碎片服務器」是什麼意思嗎?你的意思是你配置了一個帶有兩個碎片的分片羣嗎?這意味着您正在通過mongos進程訪問羣集 - 是嗎? –

+0

是的,我已經設置了兩個分片的分片羣 –

回答

1

當您通過shell(mongo)連接到mongoD或mongoS服務器時,您將無法查看該服務器上發生的查詢。 shell主要用於執行查詢,配置數據庫並檢查其狀態。

MongoS只是來自應用程序的查詢的路由器。

要查看單個查詢,您需要根據您的configuration檢查位於每個服務器上的日誌文件。

默認情況下,只有緩慢的查詢(100毫秒以下)纔會被記錄。因此需要啓用Profiler來記錄所有查詢。

有關Sharding的更多信息,請參閱documentationpages

+0

謝謝你,你在分析中提供的寶貴信息,這就是我一直在尋找的東西。 –