适用于MongoDB和Mongometer的SpiderMonkey至V8

通过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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue todolist

最近初学vue&#xff0c;做最简单的todolist <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>todolist</title><style type"text/css">#container{width: 700px;height: 100px;padding: 40px;margin…

python函数-函数进阶

python函数-函数进阶 一、命名空间和作用域 1.命名空间 内置命名空间 —— python解释器     就是python解释器一启动就可以使用的名字存储在内置命名空间中     内置的名字在启动解释器的时候被加载进内存里全局命名空间 —— 我们写的代码但不是函数中的代码 …

php年龄查询表单设计,PHP 处理表单

用户评论:behnam jaza faza (2013-06-24 07:22:28)The note above says:"Also see the import_request_variables() function. "But dont:This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.Andy (2012-04-14 00:05:21)Just a reminde…

152. Maximum Product Subarray动态规划连乘最大子串

Find the contiguous subarray within an array (containing at least one number)which has the largest product.For example, given the array [2,3,-2,4],the contiguous subarray [2,3] has the largest product 6. /*首先想到了和最大相加子串问题&#xff0c;但是不同的…

使用Maven Jetty插件

尽管很长一段时间以来我一直在使用Maven&#xff0c;但直到最近我才使用过Jetty插件。 为了能够测试REST客户端&#xff0c;我创建了一个Servlet&#xff0c;向我显示了所有传入的参数和带有传入请求的标头。 为了在容器中运行servlet&#xff0c;我决定尝试使用Maven Jetty插件…

百度联盟广告如何理解按父容器宽度

创建百度联盟广告位的时候&#xff0c;选择按父容器宽度展示&#xff0c;但是在加入之后&#xff0c;查看代码发现广告的宽度为页面的宽度&#xff0c;并不是希望的父级的宽度&#xff0c; 如图在这里查看&#xff1a; 解析&#xff1a;百度联盟广告自动生成的div按父级的div宽…

WPF中通过AForge实现USB摄像头拍照

最近由于某种原因呢&#xff0c;需要做一下拍照的功能&#xff0c;本来我纠结到底用AForge类库还是用WPFMediaKit.dll &#xff0c;不过后来看网上说WPFMediaKit.dll 是截图而AForge是直接通过摄像头拍照&#xff0c;于是乎&#xff0c;我就选择了AForge类库。 首先留下发帖时我…

php中文字转,PHP文字转图片功能原理与实现方法分析

本文实例讲述了PHP文字转图片功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;这项功能主要用于对邮箱地址、手机等可能被网络爬虫抓取的重要信息的处理。将文字转化为图片绝对是个好注意。验证码的基本生成原理也与此差不多&#xff0c;只是对再对文字转化为图片的…

Java接口的防御性API演进

API的发展绝对是不平凡的。 只有少数几个需要处理的事情。 我们大多数人每天都在使用内部专有API。 现代IDE附带了很棒的工具&#xff0c;可以分解&#xff0c;重命名&#xff0c;上拉&#xff0c;下推&#xff0c;间接&#xff0c;委托&#xff0c;推断&#xff0c;泛化我们的…

sql语句查询各门课程平均分的最大值

解法一&#xff1a; select courseno,stuno,avg(score) 平均分最高值--这里是求平均&#xff0c;后面的条件是过滤最大值的 from tablename group by courseno,stuno having avg(score) > all (select avg(score) sco--这里是过滤最大值 from tablename group by courseno) …

(转)用JS实现表格中隔行显示不同颜色

用JS实现表格中隔行显示不同颜色 第一种&#xff1a; <style> tr{bgColor:expression( this.bgColor((this.rowIndex)%20 )? white : yellow); } </style> <table id"oTable" width"100" border"1" style"border-colla…

Java 系列之spring学习--spring搭建(一)

一、新建maven项目 二、引入spring jar包 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0…

php简单分页,php简单实现分页查询的方法

这篇文章主要为大家详细介绍了php简单实现分页查询的方法&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下关于php,最近学了好多&#xff0c;老师跟我们说&#xff0c;现在学的都是php的核心部分&#xff0c;所以我比较注意了一下&#xff0c;也多练习…

Java Collections API怪癖

因此&#xff0c;当涉及到Java Collections API时&#xff0c;我们倾向于认为已经了解了所有内容。 我们知道我们的身边方式列表 &#xff0c; 设置 &#xff0c; 地图 &#xff0c; Iterables &#xff0c; 迭代器 。 我们已经为Java 8的Collections API增强做好了准备。 但是…

笔记 — 动画效果(Css3)

/*** animation-name: 调用 keyframes 所定义的动画* animation-duration: 动画周期所花费的时间长度* animation-timing-function: 规定动画的速度曲线* animation-delay: 延时执行动画的时间* animation-iteration-count: 动画执行的次数* animation-dircetion: 规定动画下一…

可命名元组namedtuple

import collectionsMytupleClass collections.namedtuple(MytupleClass,[x,y,z])objMytupleClass(11,22,33)print(obj.x)print(obj.y)print(obj.z)print(dir(obj))print(help(obj))转载于:https://www.cnblogs.com/POP-w/p/7412278.html

django用户认证系统——登录4

用户已经能够在我们的网站注册了&#xff0c;注册就是为了登录&#xff0c;接下来我们为用户提供登录功能。和注册不同的是&#xff0c;Django 已经为我们写好了登录功能的全部代码&#xff0c;我们不必像之前处理注册流程那样费劲了。只需几分钟的简单配置&#xff0c;就可为用…

php缓存类,PHP缓存类

// ----------------------------------------------------------------------// |缓存类// ----------------------------------------------------------------------// | Author: justmepzy(justmepzygmail.com)// -------------------------------------------------------…

双向@OneToMany / @ManyToOne关联

编程的目标之一是代表现实世界中的模型。 通常&#xff0c;应用程序需要对实体之间的某些关系进行建模。 在上一篇有关Hibernate关联的文章中&#xff0c;我描述了建立“一对一”关系的规则。 今天&#xff0c;我将向您展示如何设置双向的“ 一对多 ”和“ 多对一 ”关联。 这个…

web前端黑客技术揭秘 6.漏洞挖掘

6.1  普通XSS漏洞自动化挖掘思路 6.1.1  URL上的玄机 6.1.2  HTML中的玄机 2.HTML标签之内 6.1.3  请求中的玄机 6.1.4  关于存储型XSS挖掘 6.2.1  HTML与JavaScript自解码机制 <input type"button" id"exec_btn" value"exec" on…