MongoDB性能测试

因此,今天早上,我在mongo shell中四处乱逛。 我想出了三种不同的方式来聚合所需的数据,但不确定随后应移植哪种代码以在应用程序中使用。

那么,我将如何决定实施哪种方法呢? 好吧,让我们选择性能最佳的产品。 好的,我该怎么做? 嗯 我可以在那里下载并安装一些工具,也可以将shell代码包装在一个函数中并添加一些时间。 或者,我可以使用与其他所有性能测试相同的工具; JMeter。 对我来说,这是毫无道理的。

那么我们该怎么做呢?

有一个完整的教程在这里 。

简而言之,您需要执行以下操作:

  1. 创建一个Sampler类。
  2. 创建一个BeanInfo类。
  3. 创建一个属性文件。
  4. 捆绑到一个罐子里,放到apache-jmeter-XX \ lib \ ext文件夹中
  5. 如果将jar放在其他位置,请更新jmeter.properties中的search_paths = .. / lib / ext / mongodb.jar。

我是怎么做到的

我倾向于在我的IDE中设置一个便笺本项目,因此我决定只使用它。 为了安全起见,我从以下位置导入了所有依赖项:

  • apache-jmeter-XX \ lib
  • apache-jmeter-XX \ lib \ ext
  • apache-jmeter-XX \ lib \ junit

然后,我创建了两个类和属性文件。
然后,我将jar导出到apache-jmeter-XX \ lib \ ext,并启动jmeter。

通过正常步骤来设置测试计划:

  1. 右键单击“测试计划”,然后添加一个线程组。
  2. 右键单击线程组并添加一个Sampler,在本例中为MongoDB Script Sampler。
  3. 将您的脚本添加到文本区域; db.YOUR_COLLECTION_NAME.insert({“ jan”:“认为他很棒”})
  4. 运行测试

快乐的时光。 然后,您可以像使用其他采样器一样使用JMeter。

未来的增强

这只是一次骇客,花了我37分钟才能开始运行,如果您包含此信息,则需要24分钟。 当然,可以扩展此范围,以允许您输入例如副本集配置详细信息并拉出连接的创建,因此我们不必在每次运行测试时都启动此操作。

参考:来自我们的JCG合作伙伴 Jan Ettles的性能测试MongoDB ,位于“ 异常例外”博客上。


翻译自: https://www.javacodegeeks.com/2012/05/mongodb-performance-testing.html

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

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

相关文章

$_SERVER[SCRIPT_NAME]、$_SERVER[PHP_SELF]、$_SERVER[QUERY_STRING]、$_SERVER[REQUEST_URI]

1、$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2、$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3、$_SERVER["QUERY_STRING"] 说明:查询(query)的字符串 4、$_SERVER["REQUEST_URI"…

yii2增删改查及AR的理解

yii2增删改查 // 返回 id 为 1 的客户 $customer Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer Customer::findOne([ id > 1, status > Customer::STATUS_ACTIVE, ]); // 返回id为1、2、3的一组客户 $customers Customer::findAll([1, …

GWT和HTML5 Canvas演示

这是我对GWT和HTML5 Canvas的第一个实验。 我的第一个尝试是创建矩形,仅用几行代码就得出了这样的内容: 码: public class GwtHtml5 implements EntryPoint {static final String canvasHolderId "canvasholder";static final St…

mysql 平均值 排序_MySQL按平均两个平均值排序

我正在竞赛网站上工作,有两种类型的用户,普通网站成员和评委.每个人都可以使用拖放工具按照他们选择的顺序对特定比赛中的条目进行排序.完成后,相关的条目ID将附加一个排名值,然后可用于确定比赛中哪个条目获得最高的平均分数.获胜者实际上将通过平均每组的平均值来确定.我希望…

Solr管理界面详解

转载于:https://www.cnblogs.com/gslblog/p/6553813.html

iconv编码转换指令

看到一个不错的指令iconv,可以对文件编码进行转换,记录如下: iconv --list 列出所有支持转换的编码 icon -f code1 -t code2 filename -o newfile -f 即from 原来的编码 -t 即to 新的编码 filename 待转换的文件名 -o newfile 要输出的文件名 转载于:htt…

使用Spring Roo进行快速云开发–第2部分:VMware Cloud Foundry

Spring Roo是在Java平台上提供快速应用程序开发的工具。 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo 。 Spring Roo目前支持两种针对云计算的解决方案:Google App Engine(GAE)…

java程序日期转换_Java 日期转换详解及实例代码

Java 日期转换涉及的核心类:Date类、SimpleDateFormat类、Calendar类一、 Date型与long型Date型转换为long型Date date new Date();//取得当前时间Date类型long date2long date.getTime();//Date转longlong型转换为Date型long cur System.currentTimeMills();//取…

软件设计之思想

编程用何种语言不重要,重要的是其设计思想。转载于:https://www.cnblogs.com/redfull/p/6554898.html

asp.net 与 java 2017_[ASP.net教程]C#与JAVA学习感悟

[ASP.net教程]C#与JAVA学习感悟0 2015-10-06 23:00:07C#与JAVA学习感悟学完C#与JAVA,感觉收获良多。C#与JAVA这两门语言相似度很高(了解它们早期历史的人可能知道为什么),也许很多人在学习JAVA(或C#)时会同时学习C#(或JAVA),因为它们太相似了…

Spring和JSF集成:国际化和本地化

如果您正在开发针对多种语言的JSF应用程序&#xff0c;那么您可能很熟悉<f&#xff1a;loadBundle>标记。 即使您的应用程序不支持使用消息包的国际化仍然是一个好主意。 在<f&#xff1a;loadBundle>标记下&#xff0c;它从Java java.util.ResourceBundle中读取消…

一个实用的却被忽略的命名空间:Microsoft.VisualBasic:

当你看到这个命名空间的时候&#xff0c;别因为是vb的东西就匆忙关掉网页&#xff0c;那将会是您的损失&#xff0c;此命名空间中的资源最初目的是为了简化vb.net开发而创建的&#xff0c;所以microsoft.visualbasic并不属于system命名空间&#xff0c;而是独立存在的。虽然是为…

Linux基础之命令练习Day2-useradd(mod,del),groupadd(mod,del),chmod,chown,

作业一&#xff1a; 1) 新建用户natasha&#xff0c;uid为1000&#xff0c;gid为555&#xff0c;备注信息为“master” 2) 修改natasha用户的家目录为/Natasha 3) 查看用户信息配置文件的最后一行 4) 为natasha用户设置密码“123” 5) 查看用户密码配置文件的最后一行 6) 将nat…

动态表单,JSF世界早已等待

新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件。 通常&#xff0c;如果知道行/列的数量&#xff0c;元素的位置等&#xff0c;则可以通过h&#xff1a;panelGrid或p&#xff1a;panelGrid来构建非常简单的表单。 对于静态表单&#xff0c;这是正确的。 但是&#xff0c;如…

C# 定时器事件(设置时间间隔,间歇性执行某一函数,控制台程序)

定时器事件代码 static void Main(string[] args) {Method();#region 定时器事件 Timer aTimer new Timer();aTimer.Elapsed new ElapsedEventHandler(TimedEvent);aTimer.Interval seconds * 1000; //配置文件中配置的秒数aTimer.Enabled true;#endregionstring strLi…

总结get和post区别

参考博文&#xff1a;   浅谈HTTP中Get与Post的区别 1. 数据传递方向&#xff1a; Get是向服务器发索取数据的一种请求&#xff0c;Post是向服务器提交数据的一种请求 &#xff08;都是请求&#xff0c;并不是一个取一个发&#xff09; Get&#xff1a;①用于获取信息&#x…

Vmware安装Centos NAT方式设置静态IP

【Vmware中在搭建集群环境等&#xff0c;DHCP自动获取IP方式不方便&#xff0c;为了固定IP减少频繁更改配置信息&#xff0c;建议使用静态IP来配置&#xff0c;网络连接主要有三种方式 1.nat 2.桥接&#xff0c;3主机模式 &#xff0c;在这里主要介NAT方式&#xff0c; 为什么使…

1 TB /节点时快速,可预测且高度可用

世界正每秒从移动设备&#xff0c;Web和各种小工具向应用程序推送大量数据。 如今&#xff0c;更多的应用程序必须处理此数据。 为了保持性能&#xff0c;这些应用程序需要快速访问数据层。 在过去的几年中&#xff0c;RAM价格下降了&#xff0c;我们现在可以便宜得多地获得具有…

java jni 内存_Android开发之JNI内存模型

Java 与JNI 内存管理是怎样的想要弄清楚Java与JNI的内存管理的关系&#xff0c;首先要弄清楚JVM的内存模型JVM内存模型.png其中本地方法栈就是运行时调用native 方法的数据保存区。本地方法栈的大小可以设置成固定的或者是动态扩展。Java中的内存泄露JAVA 编程中的内存泄漏&…

04 linux用户群组和权限

作业一&#xff1a; 1)新建用户natasha&#xff0c;uid为1000&#xff0c;gid为555&#xff0c;备注信息为“master” 2)修改natasha用户的家目录为/Natasha 3)查看用户信息配置文件的最后一行 4)为natasha用户设置密码“123” 5)查看用户密码配置文件的最后一行 6)将natasha用…