MongoDB中在1000万级数据用时70秒,附Java代码和测试数据
Posted 秋9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB中在1000万级数据用时70秒,附Java代码和测试数据相关的知识,希望对你有一定的参考价值。
在100万级大数据量插入,MongoDB中速度还相当快的,下面分享插入1000万条数据测试结果。
下面分享Java操作代码
@Test
void saveBatch()
long start=System.currentTimeMillis();
int oneNum=5000;
List<User> insertDataList=new ArrayList(oneNum);
int totalnum=1000*10000;//1000万
for(int i=0;i<totalnum;i++)
User user=new User();
user.setName("A"+i);
user.setPassword("A"+i);
insertDataList.add(user);
if(insertDataList.size()>=oneNum)
BulkOperations operations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,"user2");
operations.insert(insertDataList);
operations.execute();
insertDataList=new ArrayList(oneNum);
if(i!=0&&i%1000000==0)
System.out.println("导入"+i+"条用户数据用时:"+(System.currentTimeMillis()-start)+"毫秒");
if(!insertDataList.isEmpty())
BulkOperations operations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,"user2");
operations.insert(insertDataList);
operations.execute();
System.out.println("1000万用户用时:"+(System.currentTimeMillis()-start)+"毫秒");
在4核CPU和16G内存的win10台式机,idea开发环境下的测试结果:
导入1000000条用户数据用时:7470毫秒
导入2000000条用户数据用时:14479毫秒
导入3000000条用户数据用时:21450毫秒
导入4000000条用户数据用时:28331毫秒
导入5000000条用户数据用时:35243毫秒
导入6000000条用户数据用时:42138毫秒
导入7000000条用户数据用时:49051毫秒
导入8000000条用户数据用时:55955毫秒
导入9000000条用户数据用时:62885毫秒
1000万用户用时:69857毫秒
以上是关于MongoDB中在1000万级数据用时70秒,附Java代码和测试数据的主要内容,如果未能解决你的问题,请参考以下文章
百万级高并发MongoDB集群性能数十倍提升优化实践(上篇)