比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean
admin
2023-02-06 14:20:07
0次

比较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个线程,看起来像是热点区域。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...