【问题标题】:mongodb read/write performance and mongo hosting in the cloudmongodb 读/写性能和云中的 mongo 托管
【发布时间】:2011-02-28 04:27:28
【问题描述】:

我们目前正在使用 facebooker(facebook 游戏)开发高流量铁路应用程序。 由于 amazon simpledb (aws-sdb) 非常慢,我们正在考虑使用 mongoHQ 提供的专用 mongodb 服务器。

问题:

  1. 在亚马逊 ec2 实例上运行的 mongodb 服务器的读/写峰值是多少?
  2. 对于带有 mongodb 的 ec2 托管应用程序的推荐设置是什么 - 亚马逊 EBS 上的主服务器和 ec2 实例上的副本?有什么例子或经验吗?
  3. 有没有提供云中 mongodb 托管的公司?

谢谢, mz

【问题讨论】:

    标签: ruby-on-rails amazon-ec2 mongodb cloud-hosting


    【解决方案1】:

    1) 您的读取/插入/更新值将随您使用的 EC2 实例的大小而有很大差异。一个大型 EC2 实例可以执行大约 320,000 operations per second。以下是“操作”在这个意义上的含义的细分:

    IIRC,每次写入、删除、更新、插入、命令和获取更多信息约为 20,000 次,读取次数约为 200,000 次。我认为这是一个相当大的数据集,但我明天会与艾略特核实。 ——克里斯蒂娜·乔多罗

    2) MongoDB 是单线程的,大多数 EC2 实例有 2 个或更多 CPU。所以你可以在同一台机器上运行两个进程。自动分片在当前版本中似乎运行良好,可以在生产环境中使用,但副本集却不是(这些将处理复制和自动故障转移)。因此,请随意使用自动分片和手动主从配置,然后在 7 月副本集超出 alpha 时替换主从配置。

    3) MongoHQMongoMachine 都提供托管的 MongoDB。

    【讨论】:

    • 感谢您的出色回答!所以基本上不是复制意味着我只能在一个 ec2 实例上运行?我打算让 mongodb 在很多实例上运行并创建一个主/从设置......所以现在最好的方法是只为 mongodb 使用一个大型 ec2 实例(运行和分片更多的 mongo 进程)或托管mongohq/mongomachine 并让 ec2 应用程序远程连接? mongohq/mongomachine 表现如何?
    • 您可以跨多个 mongod 进程进行分片,而不会出现任何问题。但目前,副本对还没有完全充实,因此您无法使用任意数量的服务器进行自动故障转移。所以现在,您必须为您运行的每个分片实例手动设置主/从。但是您可以根据需要在任意数量的服务器上进行分片。
    【解决方案2】:

    自 1.4 以来的 MongoDB 可以很容易地使大量内核饱和。您不再需要为每个核心启动一个 mongod。

    【讨论】:

    • 所以在带有 ubuntu 10.04 的多核机器上,我可以通过包安装 mongodb 并且它完美地开箱即用?还是我还需要使用分片?
    • 只有当你的 RAM 用完并想使用另一个盒子时,你才需要分片。不过我对包一无所知,我正在使用 mongodb.org 的 tarball。
    猜你喜欢
    • 2013-01-17
    • 2020-12-27
    • 2018-07-02
    • 2020-06-13
    • 2017-12-11
    • 2018-04-11
    • 2011-07-10
    • 2020-03-15
    • 2021-03-28
    相关资源
    最近更新 更多