即時通訊使用python 2.7.8和pymongo 2.7 和mongoDB服務器是副本集組中的一個主要兩個輔助。 mognodb服務器構建在AWS服務器EBS上:500GB,IOPS3000。pymongo插入W = 2,J =真實加速
我想知道有沒有什麼辦法,以加快insert.when W = 2,J =真 使用pymongo插入文件的百萬花費了大量的時間 ,我知道,如果我用W = 0它會加速,但它不是安全的 所以有什麼建議?請幫助我謝謝。
即時通訊使用python 2.7.8和pymongo 2.7 和mongoDB服務器是副本集組中的一個主要兩個輔助。 mognodb服務器構建在AWS服務器EBS上:500GB,IOPS3000。pymongo插入W = 2,J =真實加速
我想知道有沒有什麼辦法,以加快insert.when W = 2,J =真 使用pymongo插入文件的百萬花費了大量的時間 ,我知道,如果我用W = 0它會加速,但它不是安全的 所以有什麼建議?請幫助我謝謝。
您可以使用無序或有序bulk inserts
這很多加速的東西。也可以看看我的pymongo批量操作的包裝。
設置W=0
已棄用。這是MongoDB的舊版本(3.0版之前),他們不建議再使用它。
使用MongoDB作爲文件存儲系統也不是一個好主意;但是,如果是這種情況,則可以考慮使用GridFS。
我假設你正在嘗試某種大規模導入,並且你現在沒有太多(或任何)讀者;在這種情況下,如果有讀者看到一些文件,但不是全部文件,那麼你會沒事的。
你有兩個選擇:
j=False
。 MongoDB會更快地返回(在文檔被提交到日誌之前),如果DB崩潰,文檔可能會丟失。W=1
。如果複製速度較慢,則只會在返回之前等到其中一個節點(主節點)擁有數據。如果您確實需要強一致性要求(讀者可以看到目前爲止插入的所有內容),則這兩個選項都不會有所幫助。
感謝您的幫助 –
@周辰彩解決了您的問題嗎? – ashes999
@周辰彩可能是那麼你可以標記我的答案是可以接受的,因爲看起來這裏的人們並不喜歡它並且降級它,雖然我提供的鏈接指向了mongoDB的官方網站並且永遠不會死亡,直到產品以任何方式死亡:-) – nickmilon