gpt4 book ai didi

java - 使用 java 驱动程序提高 Mongodb 的性能

转载 作者:IT老高 更新时间:2023-10-28 13:29:50 26 4
gpt4 key购买 nike

我想将 MongoDB 集成到我的应用程序中。我已经使用 Apache Banchmarking 工具进行了测试,并产生了 1,00,000 个具有 1000 个并发级别的传入请求。在对 mongodb 中的记录插入进行一些测试后,我可以确定它的插入速度约为 1000 记录/秒。但这对我的应用程序来说还不够。任何人都可以建议提高性能的最佳方法是什么,以便我可以实现 2000 记录/秒的目标。

我的代码是:

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 核心系统上运行,您的机器可能会花费大量时间在不同进程之间切换。数据库和基准测试工具是否在同一个机器上运行?这也会增加进程切换所花费的时间。

您可以尝试将客户端放在一个多核机器上,将数据库放在另一个上。

或者尝试运行更少的模拟客户端,可能是 10-20 个。

关于java - 使用 java 驱动程序提高 Mongodb 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6856378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com