mongoDB官方网站下载:
1、mongodb-linux-i686-2.2.1.tgz
2、java驱动 mongo-2.2.jar
测试服务器为Dell E5410 的Debian linux 2.6,配置为:
1、4核,2.33GHz
2、内存3G
3、SATA硬盘2T
web服务器:tomcat5.5
打压工具:Apache Bench
监控工具:mongostat
测试思路:
1、因为MongoDB内置了连接池,所以客户端程序相对简单,只需从一个Mongo的单例获取连接即可;
2、每个请求做1000次插入;
测试代码MongoDBManager:
public class MongoDBManager {
static private MongoDBManager instance; // 唯一实例
// public static final String DB_NAME = "lab";
// public static final String MESSAGE_COLLECTION = "email";
static synchronized public MongoDBManager getInstance(final String ip, int port, int poolSize) throws UnknownHostException {
if (instance == null) {
instance = new MongoDBManager(ip,port,poolSize);
}
return instance;
}
private MongoDBManager() {
}
private MongoDBManager(final String ip, int port, int poolSize) throws UnknownHostException {
init(ip,port,poolSize);
}
public DB getDB(String dbname) {
return mongo.getDB(dbname);
}
private Mongo mongo;
public void init(final String ip, int port, int poolSize)
throws java.net.UnknownHostException {
System.setProperty("MONGO.POOLSIZE", String.valueOf(poolSize));
if (mongo == null) {
MongoOptions options = new MongoOptions();
options.autoConnectRetry = true;
options.connectionsPerHost = poolSize;
ServerAddress serverAddress = new ServerAddress(ip, port);
mongo = new Mongo(serverAddress, options);
}
}
}
测试代码InsertMongodbServlet:
public class InsertMongodbServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Integer insertNum = Integer.valueOf(req.getParameter("insertNum")
.toString());
resp.setContentType("text/html;charset=UTF-8");
resp.setHeader("Cache-Control", "no-cache");
DB db = MongoDBManager.getInstance("127.0.0.1", 27017, 500)
.getDB("lab");
DBCollection tests = db.getCollection("tests");
for (int i = 0; i < insertNum; i++) {
DBObject test = new BasicDBObject();
test.put("id", 10000);
test.put("name", "This is for mongodb insert.");
tests.insert(test);
}
resp.getWriter().write(" Insert mongodb successed!");
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
}
}
开始压力测试,开1000个线程,共插入100万条记录:
/usr/sbin/ab -n 1000 -c 400 http://192.168.175.130:8080/labWeb/insertMongodb.do?insertNum=1000
监控:bin/mongostat
![](http://dl.iteye.com/upload/attachment/0076/2870/dcc718bd-8ab7-3d8a-ac9a-8f15046f2a86.png)
可以看到在400个并发情况下,插入100万记录,QPS在28000左右。
分享到:
相关推荐
这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习和性能测试。 在深入探讨MongoDB的测试数据之前,我们先来了解一下MongoDB的基本概念...
本文档提供了如何在单机环境下安装和测试MongoDB的流程,尤其适合学生进行学习和实践。 首先,在安装MongoDB之前,需要准备RHEL(Red Hat Enterprise Linux)7.5操作系统。操作系统安装完毕后,接下来的步骤是文件...
"Java连接MongoDB测试" Java连接MongoDB测试是指使用Java语言连接MongoDB数据库,实现增删改查等操作的技术。下面将对Java连接MongoDB测试进行详细的介绍。 准备工作 1. 下载MongoDB对Java支持的驱动包:可以从...
结论: 1、 200w数据,合理使用索引的情况下,单个stationId下4w数据。mongodb查询和排序的性能理想,无正则时client可以在600ms+完成查询,qps...测试环境:mongodb使用 replica set,1主2从,96G内存,版本2.6.5 Me
MongoDB简介 软件测试
在这个“MongoDB集群测试代码”中,我们关注的是MongoDB的两个关键特性:副本集(Replica Set)和分片(Sharding),以及如何通过配置文件和脚本来进行集群的设置与测试。 1. **副本集(Replica Set)**: - 副本...
"MongoDB测试二题目及答案" MongoDB是一个非关系数据库管理系统,主要应用于大数据和实时web应用程序。下面是MongoDB测试二题目及答案的知识点总结: 1. 创建数据库和集合:在MongoDB中,创建数据库和集合是通过db...
linux下安装配置MongoDB (软件测试)
“Mongodb亿级数据量的性能测试” Mongodb亿级数据量的性能测试是指对Mongodb数据库进行大规模数据量的测试,以评估其性能和可扩展性。本文将对Mongodb亿级数据量的性能测试进行详细的分析和讨论。 普通插入性能 ...
本次性能对比测试主要关注不同规模的数据插入操作在MySQL和MongoDB中的表现情况,特别是在处理千万级别数据时的表现。测试涵盖了不同的数据提交方式和数据量,旨在全面评估两种数据库系统的性能差异。 #### MySQL...
自己在本地win下安装window,在官网上好不容易下载了最新版本的,可是在安装最后一步的时候老是卡住,3.4版本的就可以正常安装。
mongodb在单机上搭建分片副本集群. 1.安装mongodb。2.准备好配置文件夹。3.创建日志文件。4.启动配置进程(config servers)。5.启动路由进程(mongos)。6.启动分片进程(shard servers)。7.开始设置分片副本集。8.设置...
mongodb 数据库基本操作 1、mongoDB的介绍 mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非...
Java连接MongoDB主要依赖于MongoDB的Java驱动程序,这是一个允许Java应用程序与MongoDB数据库进行交互的库。在本文中,我们将深入探讨如何使用Java连接MongoDB,涉及的知识点包括MongoDB Java驱动程序的安装、配置,...
### MongoDB性能测试报告知识点 #### 一、测试点概述 本次MongoDB性能测试涉及多个关键领域,旨在全面评估MongoDB在不同场景下的表现。主要测试点包括: 1. **磁盘占用情况**:评估不同数据量下MongoDB的磁盘使用...
综上所述,"MongoDB 性能 测试.pdf"这份文档很可能详细介绍了如何进行全面的MongoDB性能评估,包括测试工具的使用、性能指标的解读、优化策略的实施等方面,对于MongoDB的管理员和开发者来说是一份宝贵的参考资料。...
JAVA代码编写用于测试mongoDB数据库的简单程序,该程序实现对mongoDB数据库的增删改查功能,适用于初学mongoDB的童鞋学习使用,java程序连接mongoDB数据库所用到的jar包已在程序中包含,不需要另外下载,程序简单...
在“MongoDB TPCC事务性能基准测试”中,我们关注的是如何评估MongoDB在处理事务处理能力上的表现,特别是针对TPCC(Transaction Processing Performance Council C)基准测试。TPCC是一个广泛采用的在线事务处理...
在这个场景中,我们关注的是一个Java客户端,它被设计用于并发访问MongoDB数据库并进行性能测试。这个客户端涵盖了三个主要操作:查询、修改和插入,这些都是数据库操作中的基本且重要的功能。 首先,让我们深入...
mongo_bench MongoDB 的基准测试工具。 该工具执行读写测试(使用 insert() 和 find())。 测试数据由工具根据定义的“str_cnt”的数量生成,即根据定义的“str_cnt”创建 1 ... n 个 UUID 字符串元素。 该工具将...