通过10gen将MongoDB 2.3 / 2.4的默认JavaScript引擎从SpiderMonkey切换到V8,我想我将借此机会使用mongometer比较这些发行版的相对性能。 作为安全专家,我真的应该首先研究“ 其他身份验证功能” ……嘿。

我将记录比较过程中所采取的步骤(包括设置步骤),以便可以重复进行并验证(以防万一有人感兴趣),但是主要是为了让我想起自己所做的事情; 记忆,筛子。

设置

我将在专用计算机上并排安装2.2.2和2.3.2。 然后,我将使用最新版本的Java驱动程序与mongometer。

$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.3.2.tgz
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.3.2.tgz.md5

我收到了此请求的403响应…

$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.2.tgz
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.2.tgz.md5$ md5sum -c mongodb-linux-x86_64-2.2.2.tgz.md5
md5sum: mongodb-linux-x86_64-2.2.2.tgz.md5: no properly formatted MD5 checksum lines found

rr md5文件应该是校验和(然后是x2空格),然后是要校验和的文件名。 我将不得不盯着他们,好吧,盯着我实际上可以下载的那个…

$ md5sum mongodb-linux-x86_64-2.2.2.tgz
be0f5969b0ca23a0a383e4ca2ce50a39 mongodb-linux-x86_64-2.2.2.tgz
$ cat mongodb-linux-x86_64-2.2.2.tgz.md5
be0f5969b0ca23a0a383e4ca2ce50a39

配置

$ tar -zxvf ~/mongodb-linux-x86_64-2.2.2.tgz
$ sudo mkdir -p /usr/lib/mongodb/2.2.2
$ sudo mv mongodb-linux-x86_64-2.2.2/* /usr/lib/mongodb/2.2.2/
$ rm -r mongodb-linux-x86_64-2.2.2
$ sudo mkdir -p /data/db/2.2.2
$ sudo chown `id -un` /data/db/2.2.2
$ /usr/lib/mongodb/2.2.2/bin/mongod --port 27000 --dbpath /data/db/2.2.2 --logpath /data/db/2.2.2/mongod.log$ tar -zxvf ~/mongodb-linux-x86_64-2.3.2.tgz
$ sudo mkdir -p /usr/lib/mongodb/2.3.2
$ sudo mv mongodb-linux-x86_64-2.3.2/* /usr/lib/mongodb/2.3.2/
$ rm -r mongodb-linux-x86_64-2.3.2
$ sudo mkdir -p /data/db/2.3.2
$ sudo chown `id -un` /data/db/2.3.2
$ /usr/lib/mongodb/2.3.2/bin/mongod --port 27001 --dbpath /data/db/2.3.2 --logpath /data/db/2.3.2/mongod.log

让我们检查它们是否正在运行。

$ ps -ef | grep mongod
1795 /usr/lib/mongodb/2.2.2/bin/mongod --port 27000 --dbpath /data/db/2.2.2 --logpath /data/db/2.2.2/mongod.log
2059 /usr/lib/mongodb/2.3.2/bin/mongod --port 27001 --dbpath /data/db/2.3.2 --logpath /data/db/2.3.2/mongod.log

现在,让我们(优雅地)杀死一个,然后继续研究有趣的东西。

$ sudo kill -15 2059
$ ps -ef | grep mongod
1795 /usr/lib/mongodb/2.2.2/bin/mongod --port 27000 --dbpath /data/db/2.2.2 --logpath /data/db/2.2.2/mongod.log

现在我跳到另一个盒子。

$ wget https://github.com/downloads/mongodb/mongo-java-driver/mongo-2.10.1.jar
$ cp mongo-2.10.1.jar /usr/lib/jmeter/2.8/lib/ext
$ cp ~/IdeaProjects/mongometer/out/artifacts/mongometer_jar/mongometer.jar /usr/lib/jmeter/2.8/lib/ext
$ /usr/lib/jmeter/2.8/bin/jmeter.sh

测试

测试真的很基础。 我将在两个不同的数据库中执行插入操作,并对这些数据库执行查找。

版本2.2.2

show dbs
local 0.078125GB

> show dbs
jmeter 0.203125GB
jmeter2 0.203125GB
local 0.078125GB> use jmeter
> db.jmeter.find().count()
1000
> db.dropDatabase()> use jmeter2
> db.jmeter.find().count()
1000
> db.dropDatabase()$ ps -ef | grep mongo
2690 /usr/lib/mongodb/2.2.2/bin/mongod --port 27000 --dbpath /data/db/2.2.2 --logpath /data/db/2.2.2/mongod.log$ sudo kill -15 2690
$ ps -ef | grep mongo

没有。 让我们启动并运行2.3.2实例。

$ /usr/lib/mongodb/2.3.2/bin/mongod --port 27001 --dbpath /data/db/2.3.2 --logpath /data/db/2.3.2/mongod.log$ ps -ef | grep mongo 2947 /usr/lib/mongodb/2.3.2/bin/mongod --port 27001 --dbpath /data/db/2.3.2 --logpath /data/db/2.3.2/mongod.log

版本2.3.2

> show dbs
local 0.078125GB

> show dbs
jmeter 0.203125GB
jmeter2 0.203125GB
local 0.078125GB> use jmeter
> db.jmeter.find().count()
1000
> db.dropDatabase()> use jmeter2
> db.jmeter.find().count()
1000
> db.dropDatabase()

结论

我想你应该自己画画。 我运行了几次,并考虑编写脚本,以便在每次运行之前清理环境,我可能也可以添加更复杂的查询。 也许如果下周末我有空的话,我会的。

参考:来自我们的JCG合作伙伴 Jan Ettles的适用于MongoDB的V8的SpiderMonkey和Mongometer,来自Exceptionalexception异常博客。

翻译自: https://www.javacodegeeks.com/2013/01/spidermonkey-to-v8-for-mongodb-and-mongometer.html

适用于MongoDB和Mongometer的SpiderMonkey至V8相关推荐

  1. mongodb适用于_适用于MongoDB和Mongometer的SpiderMonkey至V8

    mongodb适用于 通过10gen将MongoDB 2.3 / 2.4的默认JavaScript引擎从SpiderMonkey切换到V8,我想我将借此机会使用mongometer比较这些发行版的相对 ...

  2. 甲骨文发布适用于 MongoDB 的 Oracle Database API;Chrome 和 Edge 互相“拉踩”;树莓派驱动程序现可在 Android 上运行 | 开源日报

    整理 | 宋彤彤 责编 | 屠敏 开源吞噬世界的趋势下,借助开源软件,基于开源协议,任何人都可以得到项目的源代码,加以学习.修改,甚至是重新分发.关注「开源日报」,一文速览国内外今日的开源大事件吧! ...

  3. 脚本引擎小PK: SpiderMonkey vs V8

    介绍 SpiderMonkey是Firefox使用的脚本引擎,V8是Google Chrome使用的脚本引擎.这篇文章介绍了怎样在自己的C++程序中嵌入这两种脚本引擎,以及简单做了一些横向的对比. 编 ...

  4. 详解 Chrome 「V8 」引擎,让你更懂JavaScript !

    今天来聊聊 V8,它的主要职责是用来执行 JavaScript 代码的.在正式全面了解 V8 之前,先来了解下「JavaScript 的基本特性和设计思想」. 1.JavaScript 的基本特性和设 ...

  5. 专业级MongoDB桌面客户端:MongoBooster for Mac

    mongobooster mac破解版是适用于MongoDB的最智能IDE,也是以shell为中心的跨平台GUI工具,它提供了流畅的查询构建器,SQL查询SQL查询,就地更新,ES2017语法支持和真 ...

  6. Windows下编译Chrome V8

    主要还是参考google的官方文档: How to Download and Build V8 Building on Windows 同时也参考了一些其它的中文博客: 脚本引擎小pk:SpiderM ...

  7. Linux平台安装MongoDB

    MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download-center#community ...

  8. MongoDB 3.0 WiredTiger Compression and Performance

    MongoDB3.0中的压缩选项 在MongoDB 3.0中,WiredTiger为集合提供三个压缩选项: 无压缩 Snappy(默认启用) – 很不错的压缩,有效利用资源 zlib(类似gzip) ...

  9. go mongodb排序查询_【赵强老师】MongoDB中的索引(下)

    (四)索引的类型三:复合索引(Compound Index) MongoDB支持复合索引,即将多个键组合到一起创建索引.该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的情形 ...

最新文章

  1. The request failed with HTTP status 401:Access Denied
  2. c语言不可见字符的ascii,转CHAR不可见字符
  3. Go Channel 详解
  4. 去掉烦人的 “ ! = null (判空语句)
  5. 《SQL Server 2008从入门到精通》--20180703
  6. 洛谷 P2712 摄像头
  7. ROS二维码识别以及OKR使用
  8. 前端架构之 React 领域驱动设计
  9. 我很忙,但对你随时有空!
  10. overleaf表格_latex编写表格.doc
  11. mysql异地多活方案_数据库异地多活解决方案
  12. OPPO A96 参数配置
  13. 基于rt-thread系统的探索者开发板综合测试实验(一)
  14. 给中年工程师的忠告[转载]
  15. flickr php,php – 获取Flickr集
  16. 软件工程-网上商城分析设计(小组项目)
  17. 软考信息系统项目管理师考试采购管理考点解析
  18. 接触分析 | ABAQUS接触分析注意事项!
  19. linux vim的查找字符串
  20. 谷歌浏览器调试移动端h5页面

热门文章

  1. 炒菜机器人的弊端_机器人炒菜真不是你想的那样!
  2. java8多线程运行程序_线程,代码和数据–多线程Java程序实际运行的方式
  3. postgresql_PostgreSQL开放自由
  4. api网关和esb区别_具有ESB,API管理和Now .. Service Mesh的应用程序网络功能。
  5. twilio_15分钟内使用Twilio和Stormpath在Spring Boot中进行身份管理
  6. 你为什么要关心equals和hashcode
  7. spring 启动加载数据_12个很棒的Spring数据教程来启动您的数据项目
  8. apache.camel_使用Apache Camel 2.14的轻松REST端点
  9. spring期刊状态_无状态Spring安全性第2部分:无状态认证
  10. Selenium 4相对定位器如何改变您的测试方式?