簡體   English   中英

使用java驅動程序提高Mongodb的性能

[英]Improve performance in Mongodb using java driver

我想在我的應用程序中集成MongoDB。 我已經使用Apache Banchmarking工具進行了測試,並生成了1000個並發級別的1,00,000個傳入請求。 在mongodb中插入記錄的一些測試之后,我可以發現它插入大約1000 rec / sec。 但這對我的申請來說還不夠。 任何人都可以建議提高性能的最佳方法是什么,這樣我才能實現2000 rec / sec的目標。

我的代碼是:

private static MongoOptions mo = new MongoOptions();
mo.connectionsPerHost = 20;
mo.threadsAllowedToBlockForConnectionMultiplier = 100; 
private static Mongo m = new Mongo("127.0.0.1",mo);     
private static DB db = m.getDB("mydb");
private static DBCollection coll = db.getCollection("mycoll");
DBObject dbObj  = (DBObject) JSON.parse(msg);
db.requestStart();      
coll.insert(dbObj);     
dbObj.removeField("_id");       
dbObj.put("val", "-10");
coll.insert(dbObj);
db.requestDone();

有1000個客戶端(我認為你的意思是並發級別1000)一次點擊數據庫對我來說聽起來很高。 如果它在1-2核系統上運行,那么您的盒子可能會花費大量時間在不同的進程之間切換。 DB和基准測試工具是否在同一個盒子上運行? 這也會增加進程切換所花費的時間。

您可以嘗試將客戶端放在一個多核盒上,將DB放在另一個上。

或嘗試運行較少的模擬客戶端可能10-20。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM