MongoDB性能评估 32位及64位
自测1:前提:未作任何配置优化。直接启动mongod服务。
32位机器。
1》插入:100万条简单数据
耗时:18秒 硬盘占用:464M
2》插入:500万条简单数据
Cpu占用:25%左右,mongod进程内存占用3.17M. 耗时:96秒 硬盘占用:976M
3》插入:1000万条简单数据
Cpu占用:23%左右,mongod进程内存占用5M-6M. 耗时: 无结果 硬盘占用:1.6G
最终结果:出错。两次测试都出错。MapViewOfFile failed
文件写入测试:4> Java单个客户端连接,写入文件的速度大约 70M/秒。(数据库在本地)
Case1: 425M 耗时:6秒, 硬盘空间占用 976M。
Case2: 425M 耗时:5秒,此时硬盘占用1.45G。
Case3: 425M 耗时:6秒,此时硬盘占用1.95G。(在这里后台报错,数据没有完全写入,MapViewOfFile failed)。
Case4:425M 耗时:10秒,此时硬盘空间不再增长,保持在1.95G。后台同样报错。(Fri Feb 25 09:57:38 [conn8] MapViewOfFile failed D:/mongodb/data/db/db_test_005.
5 errno:0 鎿嶄綔鎴愬姛瀹屾垚銆?0)
自测2:前提:前提:未作任何配置优化。直接启动mongod服务。
64位机器 CentOS,远程数据库(局域网内网)
1》插入:100万条简单数据
耗时:15秒 硬盘占用:464M
2》插入:500万条简单数据
mongod进程内存占用8.3M. 耗时:87秒 硬盘占用:976M
3》插入:1000万条简单数据
耗时: 164秒
到此单表存入1600万条数据,硬盘共占用:3.95G
文件写入测试:Java单个客户端连接,写入文件的速度大约 8M/秒。(数据库:远程数据库,(局域网内网))
Case1: 425M 耗时:47秒, 硬盘空间占用 1.95G。
Case2: 425M 耗时:60秒,此时硬盘占用3.95G。
Case3: 425M 耗时:53秒,此时硬盘占用3.95G。
Case4: 425M 耗时:72秒,此时硬盘占用5.95G。
以上程序执行四次。共插入1.7G的数据。磁盘总占用5.96G。
但文件测试二:采用单个3.09G的文件,一次性写入。
耗时:447秒 磁盘占用:5.95G。 平均写入速度:13.6M/秒。
以上测试都是单客户端,没有测试并发。此时结果,可能是准。但是至少说明了一个问题,MongoDB在处理大文件存储的效果还算满意。其他方面的功能,还有待学习。