因此,今天早上,我在mongo shell中四处乱逛。 我想出了三种不同的方式来聚合所需的数据,但不确定随后应移植哪种代码以在应用程序中使用。
那么,我将如何决定实施哪种方法呢? 好吧,让我们选择性能最佳的产品。 好的,我该怎么做? 嗯 我可以在那里下载并安装一些工具,也可以将shell代码包装在一个函数中并添加一些时间。 或者,我可以使用与其他所有性能测试相同的工具; JMeter。 对我来说,这是毫无道理的。
那么我们该怎么做呢?
有一个完整的教程在这里 。
简而言之,您需要执行以下操作:
- 创建一个Sampler类。
- 创建一个BeanInfo类。
- 创建一个属性文件。
- 捆绑到一个罐子里,放到apache-jmeter-XX \ lib \ ext文件夹中
- 如果将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。
通过正常步骤来设置测试计划:
- 右键单击“测试计划”,然后添加一个线程组。
- 右键单击线程组并添加一个Sampler,在本例中为MongoDB Script Sampler。
- 将您的脚本添加到文本区域; db.YOUR_COLLECTION_NAME.insert({“ jan”:“认为他很棒”})
- 运行测试
快乐的时光。 然后,您可以像使用其他采样器一样使用JMeter。
未来的增强
这只是一次骇客,花了我37分钟才能开始运行,如果您包含此信息,则需要24分钟。 当然,可以扩展此范围,以允许您输入例如副本集配置详细信息并拉出连接的创建,因此我们不必在每次运行测试时都启动此操作。
参考:来自我们的JCG合作伙伴 Jan Ettles的性能测试MongoDB ,位于“ 异常例外”博客上。
翻译自: https://www.javacodegeeks.com/2012/05/mongodb-performance-testing.html