我的编程空间,编程开发者的网络收藏夹
学习永远不晚

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean



英文原文:

http://blog.mongodirector.com/comparing-mongodb-performance-on-public-clouds-aws-azure-digital-ocean/

 

我们从MongoDirector.com得到的一个常见问题是MongoDB在各种公有云像AWS、Azure、Digital Ocean等的相对性能。每个云对于严重影响MongoDB性能的磁盘架构做了特定的选择。

 

因此在你花费大量的时间和精力到一个特定的云之前,理解MongoDB在该云上的整体性能特征很重要。我们查找这个信息并没有找到 -- 因此我们决定将它给你整合到一起作为我们的性能系列文章中的一部分。

 

基准平台


针对这次测试,我们决定比较AWS、Azure和Digital Ocean。我们选择了两个不同的配置集合。以下表格总结了机器配置:

Provider

Region

MongoDirector Medium*              
(Cores/RAM/Disk/Prov IOPS)

MongoDirector Large* (Cores/RAM/Disk/Prov IOPS)

AWS

US East

1/3.75GB/60GB/300

2/7.5GB/120GB/500

Azure

East US

2/3.5GB/60GB/upto 2000

4/7GB/120GB/upto 4000

Digital Ocean

New York 3

2/4GB/25GB/SSD**

4/8GB/35GB/SSD**


*参考这里 “MongoDB Hosting”下面关于机器配置的详细信息。

**Digital Ocean已直接附加上了SSD。

 

性能基准测试使用YCSB 负载 A(大量更新的负载)运行。在上个月我们在一篇非常详细的文章中谈论过YCSB、配置它和它的负载。

    1. 所有的基准测试在一个单一配置下执行。

    2. 对于所有配置,使用各种级别的服务器负载(基于大量的客户端线程)插入5百万条记录。

    3. 对于中等配置,负载A使用各种级别的服务器负载,以5百万的操作总数,以默认值(50%更新,50%读取)执行。

    4. 对于大型配置,负载A使用各种级别的服务器负载,以1千万的操作总数,以默认值(50%更新,50%读取)执行。

 

结果


我们将基于在大量更新负载下的插入性能和吞吐量/延时特征来讨论结果。

 

插入性能


中等实例

在中等配置下,对于插入5M记录的吞吐量/延时(Throughput/latency)特征:

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

 

大型实例

在大型配置下,插入5M记录的吞吐量/延时(Throughput/latency)特征:

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

 

更新性能


中等实例

在中等配置下,对于写入/更新5M操作时吞吐量/延时(Throughput/latency)特征:

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

这个测试只对于Digital Ocean使用32个线程运行。AWS和Azure在16个线程时是水平线。然而Digital Ocean给人的印象是直到32个线程才线性增长。

 

大型实例

在大型配置下,对于写入/更新10M操作的吞吐量/延时(Throughput/latency)特征:

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

 

整体分析


    1. 如所期待的,Digital Ocean始终有着持续的高吞吐量/低延时特性,并在插入阶段打败了其他对手,从它本地SSD驱动获取最大性能。有趣的是,即使它在读取/更新阶段运行良好,其他提供商给了一点点竞争,尤其当服务器负载增加时。显然AWS/Azure是使用更高吞吐量的网络存储。

    2. 为了从AWS磁盘获得更好的性能,用户可以使用更大的磁盘大小或者分配更高精度的IOPS。

    3. 在中等实例,在插入和更新/读取阶段,Azure似乎一直比AWS做得更好。这是令人惊喜的。硬件是完全平等的。在大型实例,AWS性能明显比Azure更好。

    4. AWS和Azure随着负载增加,延时降低都很好。Azure似乎有一个更好的延时降低曲线。

    5. 另一个AWS性能有趣的方面是,它始终是多么的平:即使在对数刻度上也是优雅降低。

    6. 基于延时数量,从负载的立场,对于中等和大型实例分别是8个和16个线程,看起来像是热点区域。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录