由于性能问题,我们正在从一台服务器迁移到两台服务器。 我们如何监控这一变化的价值?

由于性能问题,我们正在从一台服务器迁移到两台服务器。 我们正在将我们的MySQL数据库移动到它自己的专用服务器上,并将原始机器保持为运行nginx / apache(Django后端)的前端机器。

我们如何监控这一变化的价值? 有可能我们的整个网站实际上会变慢,因为MySQL查询将通过安全的远程连接而不是本地进行?

把数据库移到自己的机器上是非常普遍的,如果做得对,应该可以大大提高你的性能。

不过,我担心你的“安全远程连接”。 通常情况下,数据库应该与您的Web服务器位于同一个数据中心(甚至是相同的交换机上)。 我相信这里恰当的说法是“连接良好”的。 当你说,“安全的远程连接”,我有vpn的图像到某个地方谁知道多远。 这可能是麻烦。

如果听起来,这两个服务器连接起来不是很好,为了确保您的网站保持响应,您应该做的一些事情是检查它们之间的平均延迟。 一个快速和肮脏的方法来做到这一点只是从一个到另一个,以便它继续运行,并观看时间。 矿几乎都是1ms或者<1ms,偶尔有2ms或者3ms。 如果你看到更多的数字,你可能想重新考虑这个问题。

在移动MySQL服务器之前和之后,我会使用诸如ab( ApacheBench )之类的东西来运行一些基准testing,以查看净效应是什么。

将MySQL移动到外部服务器可能会导致性能下降,但这取决于您正在运行的查询types以及新数据库服务器的距离。 如果它在100Mbps / 1Gbps线路的同一个数据中心内,我不会期望性能下降。 移动MySQL到自己的服务器的机会将有助于“倍增”你所拥有的RAM / CPU。

通常让DB服务器远离正在使用的是一个坏主意。 当然,如果你的查询很复杂,并返回less量的数据,它可能是好的,但是因为你正在运行Django,期待很多的查询,因此,大量的传输和延迟。

衡量一般网站性能的简单方法是使用Fiddler 。 这是一个插入自己作为您的网页浏览器,您正在打击的网站之间的代理工具。 我发现它对于衡量整个网站的性能非常有用。 虽然这并不能直接衡量这个数据库移动所增加的延迟,但你应该能够得到一个体面的比较,而且这样做是无懈可击的。