我有一个由两台服务器提供服务的高负载网站:网络服务器与nginx
和php
,和数据库服务器使用mysql
。 Web 服务器提供所有静态内容,并通过单一接口连接到 MySQL 和外部世界 - eth0
。
在高峰时段,此接口上的流量接近最大值,并且到 mysql 服务器的 ping 时间会变得非常高(长达 100 毫秒,即使服务器位于同一个 LAN 上)。
因此,我的问题是:设置另一个专用于 MySQL 连接的网络接口网络服务器解决高延迟问题?
如果是,我该使用什么工具通过不同的网络接口转发 mysql 连接?如何正确设置接口,我是否需要在接口上使用不同的 IP 地址?
两台服务器都有ubuntu-server
。
答案1
如果您最大限度地利用了接口上的带宽并发现高延迟,那么您很可能会看到通过不同的接口运行 MySQL 连接带来的好处。
您不需要做任何特殊的事情来使其使用其他接口,但是是的,它需要一个与 eth0 位于不同网络中的 IP 地址。
为 MySQL 服务器指定一个 IP,例如 10.0.0.1/255.255.255.0,为 Web 服务器上的 eth1 指定 10.0.0.2/255.255.255.0。您可以使用任何您喜欢的私有 IP 范围,也可以使用较小的网络掩码,重要的是它与 Web 服务器上的 eth0 的范围不同。这样,当 Web 服务器连接到 10.0.0.1 时,它就会知道必须使用 eth1。