我對Mongodb和EC2瞭解不多。所以作爲外行人員,我的問題是如果mongodb服務器安裝在STANDARD SMALL EC2 LINUX/UBUNTU實例上,那麼mongodb服務器可以處理多少I/O(以kb/mb/gb /秒爲單位),而不會窒息。Mongodb on Amazon EC2
是否有任何公式或軟件或網站,可以告訴一個服務器的最大強度或輸出?
注:MongoDB的和EC2實例安裝在默認模式。
預先感謝
我對Mongodb和EC2瞭解不多。所以作爲外行人員,我的問題是如果mongodb服務器安裝在STANDARD SMALL EC2 LINUX/UBUNTU實例上,那麼mongodb服務器可以處理多少I/O(以kb/mb/gb /秒爲單位),而不會窒息。Mongodb on Amazon EC2
是否有任何公式或軟件或網站,可以告訴一個服務器的最大強度或輸出?
注:MongoDB的和EC2實例安裝在默認模式。
預先感謝
TL/DR:在我們的測試中,利用M1.Large EBS可以處理(平均)約250非順序的I/O每秒的操作。在測試大小時,這通常不會超過每秒20-30MB。這是AWS「高」IO設置的一部分。對Smalls來說,它們屬於「中等」IO,因此爲了安全起見,它將大約是該輸出的1/2到2/3 ...儘管完全披露,但我們還沒有對較小的實例進行任何測試。
更長,更散漫的答案...
這是一個複雜的問題,因爲它最終取決於你的活動數據集有多大,如果它比與該實例相關的RAM 1.7GB顯著更多。無法放入內存的數據越多,MongoDB就越需要去磁盤才能獲取數據,而且數據庫等待數據庫(臭名昭着的Amazon IO)返回時,您的應用程序需要等待更多的數據向它請求數據。
而且,與MongoDB的鎖,如果你是更容易受到較慢的IO(即插入和更新......主要是更新),然後爭可以得到你。另外,如果您不想擔心這些問題並且能夠有效擴展,您可以使用MongoDB託管服務之一(如MongoHQ ...免責聲明,我是創始人),因爲他們允許隨着您的成長,您可以有效擴展,並讓您可以更輕鬆地在不同級別測試IO。
所以,內存和I/O性能是選擇一個實例時要考慮的重要事情。
沒有確定什麼,你可以在服務器上運行一個特定的公式,因爲這將根據您的服務器配置和你的應用程序(和服務器)實際上做的時候有很大不同。還會有平均負荷相對於高峯負荷..這可能會更高。
例如:
對於MongoDB,有用的出發點是Optimization上的文檔。
您應該建立資源監測一些主動服務(如:Munin)瞭解一段時間內的應用程序的使用模式。
制定出爲你的應用程序可以處理,你也可以嘗試用load test的許多基準測試工具之一瞎猜。關鍵是制定出準確的測試配置文件,並確定潛在的性能熱點/弱點來解決。
此AWS白皮書可能有所幫助: http://media.amazonwebservices.com/AWS_NoSQL_MongoDB.pdf