MongoDB - Java 驱动程序性能

2024-01-27

这是我的环境。

Java - Oracle 的 1.7

mongod v2.4.5(在 Mongolab 中)

我发现两个 MongoDB 驱动程序的性能存在差异(2.9.3 与 2.11.2)

当我使用每个驱动程序运行相同的代码时,2.11.2 比 2.9.3 慢。

   for(int i=0; i<1000; i++){
        BasicDBObject doc = new BasicDBObject(
                "currentTime",
                new SimpleDateFormat("HH:mm:ss:SSS").format(Calendar.getInstance().getTime())
        );
        coll.insert(doc);
    }

    DBCursor cursor = coll.find();
    try{
        while(cursor.hasNext()){
            System.out.println(cursor.next());
        }
    } finally {
        cursor.close();
    }

上面的代码是将1000个文档放入MongoDB中。

在驱动程序2.9.3中,需要1~2秒。 但在2.11.2中,需要超过1分钟。

有谁知道这个问题吗?


自 V 2.10.0 起,Java 驱动程序的默认写入关注点已从 NORMAL 更改为 SAFESee here http://docs.mongodb.org/manual/release-notes/drivers-write-concern/

这意味着在旧的驱动程序版本中,插入操作默认情况下会在消息写入套接字后立即返回。

另一方面,在较新的驱动程序版本中,默认情况下操作必须在返回之前由服务器确认,这要慢得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB - Java 驱动程序性能 的相关文章

  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • 如何使用 SharedPreferences 保存多个值?

    我正在开发一个字典应用程序 在我的应用程序中 我假设用户想要保存最喜欢的单词 我决定使用共享首选项保存这些值 我知道 SQLite 和文件更好 但我坚持使用 SharedPreferences 所以继续使用它 下面是我的代码 Overrid
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • 通过 appassembler-maven-plugin 生成的脚本无法在 Spring Boot 应用程序中找到主类

    我使用 appassembler maven plugin 生成的启动脚本有问题 我有一个基本的 spring boot 应用程序 只有一个类 SpringBootApplication public class ScriptDemoApp
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • 避免 Java 中的重复导入:继承导入?

    有没有办法 继承 导入 Example 常见枚举 public enum Constant ONE TWO THREE 使用此枚举的基类 public class Base protected void register Constant
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • 何时在 hibernate 中使用 DiscriminatorValue 注解

    在 hibernate 中使用 DiscriminatorValue 注释的最佳场景是什么以及何时 这两个链接最能帮助我理解继承概念 http docs oracle com javaee 6 tutorial doc bnbqn html
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级

随机推荐

  • 如何覆盖odoo new api中字段的默认函数

    我有一个调用函数来获取默认值的字段 在模块project forecast中 def default user id self return self env user if default user id not in self env
  • 如何从Python中的十六进制字符串中删除'\x'?

    我正在读一本wavPython 中的音频文件使用wave模块 这readframe 该库中的函数以十六进制字符串形式返回帧 我想删除 x这个字符串的 但是translate 功能无法按我想要的方式工作 gt gt gt input wave
  • Keras 中预测的流输出

    我在 Keras 中有一个 LSTM 我正在训练它来预测时间序列数据 我希望网络在每个时间步上输出预测 因为它将每 15 秒收到一个新输入 所以我正在努力解决的是训练它的正确方法 以便它在接收 x 0 x 1 x t 作为输入流时将输出 h
  • Javac 调试打开和关闭之间有性能差异吗?

    如果我打开使用 Javac 生成调试信息 则类文件会增大 20 25 这对运行 Java 程序有任何性能影响吗 如果是的话 什么条件以及多少 我预计对加载类会有一点影响 因为文件较大 但这应该是最小的 在任何语言中 调试信息都是元信息 它本
  • 如何将 HTML 转换为 XHTML? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要将 HTML 文档转换为有效的 XML 最好是 XHTML 最好的方法是什么 有人知道工具包 库 样本 任何可以帮助我完成任务的东西
  • 每次查询后关闭 MySQL 连接

    在挖掘一位我敬佩的前同事整理的一些旧代码时 我注意到每次查询后他们都会关闭 MySQL 服务器的连接 这看起来有点奇怪 因为我总是在页面末尾关闭它 并且看到大多数人都这样做 那么问题来了 这是 PHP MySQL 中最好的想法吗 无论如何
  • 使用 Bash 获取一对 HTML 标签之间的内容

    我需要使用 bash 脚本获取一对给定标签之间的 HTML 内容 作为示例 具有以下 HTML 代码 text div text2 div text3 div div 使用 bash 命令 脚本 给定body标签 我们会得到 text di
  • 在 Windows 上分配开始失败之前检测内存运行不足

    我们有一个应用程序可能会分配大量小对象 取决于用户输入 有时应用程序会耗尽内存并导致崩溃 然而 如果我们知道内存分配变得紧张 那么一些优先级较低的对象可能会被销毁 从而允许我们优雅地降低用户结果 在调用 new 实际失败之前检测进程内存不足
  • 从 Metro 应用程序检测桌面可用性(检测 ARM、检测 Windows RT 系统)

    这是一个相关的问题在 WinRT Metro 应用程序 C 中获取操作系统版本 https stackoverflow com questions 10125324 get os version in winrt metro app c s
  • 如何在c#中从arraylist中检索对象

    如何在 C 中从 arraylist 中检索对象及其成员 你的意思是这样吗 ArrayList list new ArrayList YourObject myObject new YourObject list Add myObject
  • AJAX、子域和 SSL

    我有一个网站 foo com 它向 bar foo com 发出 ajax 请求 这行得通吗 另外 如果 foo 是安全连接 https 那么 bar foo com 也需要是 https 吗 这两个站点可以使用不同的证书吗 使用纯 htt
  • 在 cygwin 中运行简单的 map-reduce hadoop 示例时出现问题

    我只是想在独立模式下运行 64 位 Windows 7 的笔记本电脑上运行 Hadoop 我已将 Cygwin 1 7 安装在默认文件夹 c cygwin 中 我在文件夹 c jdk1 7 0 03 中有最新的 JDK 并设置了 JAVA
  • 如何使用Antlr实现函数调用,以便在定义之前就可以调用它?

    一旦构建了 AST 实现树遍历器以便可以按任意顺序定义和调用函数的最佳方法是什么 例如 这在 PHP 中是有效的 我猜想一定有第二遍 或者树转换 但我在这个主题上找不到任何有趣的东西 这个问题可能不是 Antlr 特有的问题 但如果你能给我
  • Mongoid,如何通过references_one关联(以及后续关联)来order_by?

    简单模型 class hat embedded in owner field color end class owner embedds one hat referenced in house field name end class ho
  • 基于 step() 的用户定义函数给出: eval(expr, envir, enclos) 中的错误:未找到对象“X”

    我正在尝试构建一个包含以下内容的函数ordiR2step 函数从vegan包裹 该函数基于step 功能 这是在函数之外完美运行的代码 install packages vegan require vegan data mite data
  • String.scan 和 String.split 之间的区别

    这两个有什么区别 String scan and String split 在红宝石中 它们服务于完全不同的目的 String scan http www ruby doc org core 1 9 3 String html method
  • 在子窗口上打开打印预览模式时,Google Chrome 会阻止 ajax 请求(如何解决?)

    问题 在子窗口上打开打印预览模式时 Google Chrome 会阻止 ajax 请求 细节 我有一个网页 ParentPage html 其中包含指向子页面 PrintPage html 的链接 a href PrintPage html
  • Web 应用程序中支持动画光标吗?

    是否有网络浏览器支持动画光标 我一直在网络上搜索以将自定义光标添加到我的网络应用程序中 我已经找到了很多非动画 cur 和动画 ani 光标 并使用了正确的 CSS 以便我的应用程序具有自定义光标 我尝试过的网络浏览器似乎不支持动画光标 我
  • .PublishLast() 的用例(以前称为 Prune)

    在我看来 我对 RX 函数有很好的 感觉 我使用了其中的许多函数 或者可以想象其他函数如何有用 但我找不到 Prune 函数的位置 我知道这是对 AsyncSubject 的多播 但是这在实际场景中有何用处 编辑 Richard 说 Web
  • MongoDB - Java 驱动程序性能

    这是我的环境 Java Oracle 的 1 7 mongod v2 4 5 在 Mongolab 中 我发现两个 MongoDB 驱动程序的性能存在差异 2 9 3 与 2 11 2 当我使用每个驱动程序运行相同的代码时 2 11 2 比