我從流星/ MongoDB的集合中提取數據。總共有大約15,000份文件,並且查詢大概拉了一半(8,100)。正如Kadira報道的那樣,獲取(在做任何事情之前)需要5-7秒。真的很慢訪問流星
有在相關領域的指標,我可以運行在20-50ms查找() - 所以它是這樣的問題,而不是發現的抓取。而這一次排除了對文檔做任何事情 - 這只是find()。
每個文檔是大約十幾領域,大多短與一對夫婦ISODates和1-2串的一對夫婦陣列(< 30字符)串。總而言之,總數據集(全部8000條記錄)大約爲5兆字節。
這是所有的服務器上 - 沒有什麼東西被髮送到客戶端。
那是時間正常嗎?如果不是,我可以考慮採取什麼措施來加速它?
如果您運行相同的查詢,返回相同數量的文檔,使用MongoDB的CLI做你會得到相同的時間?在一端可能只是一個緩慢的連接,而不是獲取方法的問題。 –
1.減少您發佈的字段數量,2.減少同時發佈的文檔數量(您是否真的需要客戶端上的所有8k文檔?)3.如果您正在進行聚合某種服務器使用mongo聚合框架並讓db直接做工作,4.固態硬盤! –
@ michel-floyd:這一切都在服務器上 - 沒有任何內容發佈到客戶端。這是支持一些自定義報告的例程的一部分。服務器從客戶端獲取報告參數(集合,字段等),然後有效地將集合加入到一起。然後將結果存入收集中,並逐個發送給客戶。這部分工作正常。聽起來我可能需要重新構建整個事情 - 但我從來不會想到,將5兆字節的數據拉到服務器的內存中需要很長時間。 –