延迟对数据库支持应用程序的影响

延迟对数据库支持应用程序的影响

我在 OVH 上有一台专用服务器。
由于负载过高,我认为我需要将数据库移至专用服务器。

因此,我将拥有 1 台装有 Apache 和 PHP 的专用服务器以及 1 台仅装有数据库的专用服务器。

我担心这两台服务器之间的内部连接延迟。
当我为数据库购买第二台服务器时,我是否应该询问 OVH 是否可以将第二台服务器放入第一台服务器的同一机架中?

或者这根本就没有任何区别?

细节:

我的实际服务器是:

Intel Core2Duo
2x 2.33+ GHz 
3 MB L2 - FSB 1066 MHz

RAM 4 GB DDR2

2x 750 GB - SATA2

我需要 2 个 mysql 表,其中一个至少有 5,000,000 条记录,另一个至少有 10,000,000 条记录

答案1

如果它们位于具有不同 VLAN(和不同子网)等的不同交换机上,则同一机架意义不大。

您应该要求在同一个 VLAN/子网上获取服务器 - 这将确保您的服务器之间只有 L2 交换。

答案2

仅当您向服务器发出大量“小型”(即快速服务的)查询并且执行所谓的“乒乓”处理(即等待查询结果返回后再发出后续查询)时,延迟才会重要。

在这种情况下,您的处理能力将受到链接延迟的限制,因为您必须等待每个发出的查询至少一个完整的 RTT 周期。由于这将是“糟糕的设计”(tm)并且无论如何都很容易出错,因此您需要研究该问题。

对于大多数其他情况,延迟并不重要 - 它会影响连接建立时间(即 RTT 的 2 倍),但由于即使跨不同的托管商,延迟也可能在 10 毫秒以内,并且典型查询时间至少高出一个数量级,所以不必担心。

如果您的查询返回大量数据(例如,数据行中包含 BLOB),则还需要考虑的一件事是,您可能会达到某些带宽限制,或者如果按每 GB 的传输数据计费,则托管成本会显着增长 - 您应该在订购前与 OVH 讨论这个问题。

相关内容