【问题标题】:Are managed databases (e.g. Amazon RDS) slower to access than databases on the same machine (EC2) as the web server托管数据库(例如 Amazon RDS)的访问速度是否比与 Web 服务器位于同一台机器 (EC2) 上的数据库慢
【发布时间】:2021-04-29 21:55:31
【问题描述】:

想象两种情况:

  1. 我有一个在 EC2 实例中运行的 Web 服务器,它连接到托管数据库服务 RDS 中的数据库。
  2. 我在同一个 EC2 实例中运行了 Web 服务器和数据库。

我在 RDS 中的数据库是否会因为不在同一台机器上而导致访问速度变慢?

两者之间的延迟大约增加了多少毫秒?

这会成为瓶颈吗?

Azure、GCP、Digital Ocean 等其他托管数据库服务呢? 它们的行为是否相同?

【问题讨论】:

    标签: amazon-web-services azure amazon-ec2 google-cloud-platform amazon-rds


    【解决方案1】:

    是的,从您的 Web 服务器访问 RDS 实例会比 同一 主机上的数据库慢,因为您需要通过网络,这会增加延迟。

    在同一台服务器上运行数据库的缺点是您不能使用托管服务来处理您的数据库,并且您将大部分无状态组件(网络服务器)与有状态组件(数据库)混合在一起。该解决方案通常也不可扩展。如果你添加更多的网络服务器,事情就会变得一团糟。

    不了解 Azure、GCP 或 Digital Ocean,但如果那里的情况有所不同,我会感到非常惊讶。将这些组件分开是有充分理由的。

    【讨论】:

    • 延迟增加的影响有多大?因为我们所有软件开发人员都讨厌的一件事是我们的应用程序运行缓慢。
    • 嗯,你必须测量它:D - 通常会增加几毫秒,因为每个主要网站都是这样构建的,我希望这不是问题。通常瓶颈在其他地方。
    • @abcDE 可能是您执行的查询、选择的数据库、创建的索引、要选择的数据量、网络服务器中的技术、应用程序的编码等等。对 ec2 -> rds 连接之外的任何延迟的影响。
    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 2020-02-03
    • 2016-07-06
    • 2013-02-15
    • 1970-01-01
    相关资源
    最近更新 更多