Welcome 微信登录

首页 / 数据库 / MySQL / 不容忽视:MongoDB的JavaScript性能

测试Mongodb + V8 JavaScript引擎 我知道Mongodb的JavaScript引擎是SpiderMonkey, 于是想尝试再编译一个v8版本的Mongodb, 准备用如下JavaScript文件测试一下. 准备测试代码:<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> function dotest() {

var str = "xxxxxxxxxxxxxxxxx0000000000";

var data = str + str + str + str;

var data = data + data + data + data;

var max = 10000;

var arr = [];

var total = 0;

for(var a=0; a<100; a++) {

for(var i=0; i

arr.push( data + " . " + data);

}

for(var i=0; i

total += arr[i].length;

}

arr = [];

}

return total;

}

myecho = (typeof console !== "undefined" && typeof console.log == "function") ? console.log : print;

a = new Date();

myecho("begin: " + a);

myecho("result: " + dotest());

b = new Date();

myecho("end: " + b);

myecho("total time: " + (b - a));

  这个JavaScript脚本能同时跑在4种环境下: Chrome / Firefox等浏览器环境 node js的shell SpiderMonkey 的js shell mongo 的js shell 我准备编译完Mongodb的v8版本后, 四个环境都比较测试一下. 编译mongodb + v8 我在OpenSUSE11.4下, 用linux的包管理工具准备编译环境, 还是很容易的: #已安装的包: g++ subversion git python<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> sudo zypper install scons tcsh boost-devel pcre-devel readline-devel

svn checkout http://v8.googlecode.com/svn/trunk/ v8

cd v8

scons

cd ..

git clone git://github.com/mongodb/mongo.git

cd mongov8

scons

#run mongodb v8

./mongod --quiet --shardsvr --dbpath /home/dzg/data/mongodb/test/mongod --port 20237 --nohttpinterface --fork --pidfilepath /home/dzg/data/mongodb/test/mongod.pid --logpath /home/dzg/log/mongodb/test/mongod.log --logappend

  执行测试 执行~/opt/mongov8/mongo localhost:20237 dotest.js mongo+v8 : 93毫秒 nodejs : 68毫秒 SpiderMonkey : 442毫秒 初步结论: mongodb + v8性能非常好, 接近node.js里面的执行性能。 SpiderMonkey 1.9 比v8慢5倍。 mongodb使用SpiderMonkey肯有一些环节还存在问题, 导致mongodb+SpiderMonkey比mongodb+v8慢60多倍。 也许是mongodb的SpiderMonkey版本低? 我目前还不知道mongodb的发行版内, SpiderMonkey的确切版本. 我上面测试SpiderMonkey 的js命令是来自xulrunner-192。 测试代码很短, 比较片面, 上面的性能倍数只是大体估计, 不是全面精确的评估。
  • 1
  • 2
  • 下??页
Oracle 面向服务的体系架构图基于MongoDB进行分布式数据存储的步骤相关资讯      MongoDB 
  • MongoDB 3.3.0 发布下载  (01月14日)
  • 使用MongoDB C#官方驱动操作  (12/31/2015 16:27:56)
  • CentOS 6.6下安装MongoDB 3.0.1  (12/21/2015 19:29:02)
  • MongoDB 3.2版WiredTiger存储引擎  (01月02日)
  • 进程监控工具Supervisor 启动  (12/26/2015 10:49:57)
  • MongoDB 3.2.1 RC0 发布下载  (12/18/2015 11:32:29)
本文评论 查看全部评论 (0)
表情: 姓名: 字数