远程mysql服务器速度

Posted

技术标签:

【中文标题】远程mysql服务器速度【英文标题】:Remote mysql server speed 【发布时间】:2018-02-02 01:08:05 【问题描述】:

我开发网站,通常在 Wordpress 上使用 MAMP。使用在 localhost 上运行的数据库,该站点运行得非常快。有时我需要使用在 DigitalOcean 托管的开发服务器上运行的共享数据库,以便多个开发人员可以在该站点上工作。当切换到这个远程数据库时,站点速度要慢得多。

我可以在 30 毫秒内 ping 通服务器,而且我们的 Internet 连接速度很快。

我们可以做些调整来使远程设置更好地工作吗?我怎样才能最好地对速度差异进行基准测试?

【问题讨论】:

这个问题是题外话,因为它不在适用于本网站的问题范围内,如What topics can I ask about here? 中定义的那样,另请参阅:What types of questions should I avoid asking? 您也许可以在 @ 上获得帮助987654323@,也许 Database Administrators。但是,请务必在发布之前阅读网站的主题页面 基本上,这似乎与您的数据库和/或网络的管理有关。如果确实可以在您的代码中进行调整,那么它就太宽泛了,并且可能会要求提供场外资源的建议来对您的设置进行基准测试。 【参考方案1】:

当您的数据库位于本地时,没有网络延迟,但当您的数据库位于远程时,网络延迟可能会因服务器上发生的网络活动而异。

此外,您的 ping 使用非常小的数据包,因此速度会很快,但是当您查询数据库时,延迟取决于特定查询返回的数据量以及当时服务器上的负载量。

此外,I/O 操作也可能是一个限制因素。

我建议你获得高速网络数据库服务器。

在 AWS 中,他们可以选择各种服务器,这取决于其 I/O 和网络能力。您可以使用基准测试其中一些服务器,然后选择适合您需要的服务器。使用 AWS 服务器的优势之一是您不必对已经发布的服务器的网络和 I/O 进行基准测试。

【讨论】:

【参考方案2】:

每个执行的 SQL 查询都会增加 30 毫秒。可能是 WP 发出了很多不必要的查询。 (数据包、网络带宽等与 30 毫秒的开销相比不太相关。)

将“General log”开启一小会儿;在这里张贴;然后我们可以讨论事情。

将您的 client 应用程序移动到同一个 Digital Ocean 服务器或该数据中心的另一台服务器可能是最快的解决方案。然后 30ms 将位于数据路径的不同部分,可能不太常用。例如,如果 1 个 WP 命令导致 5 个 SQL 命令,那么您的开销将从 150 毫秒降低到 30 毫秒。

【讨论】:

【参考方案3】:

在远程服务器上拥有数据库通常会遇到您提到的问题,可能是网络,也可能是托管服务提供商的 I/O 速度低(尽管 SSD 上的数字海洋主机)。 尝试这个: 通过 ssh 连接到数据库远程主机 安装 iotop (apt-get install iotop) 安装 bmon (apt-get install bmon) 尝试使用这些程序来查看您的瓶颈。 iotop 显示存储负载,bmon 显示网络负载。

【讨论】:

以上是关于远程mysql服务器速度的主要内容,如果未能解决你的问题,请参考以下文章

mysql 远程连接速度慢的解决方案

mysql 8创建远程访问用户以及连接mysql速度慢的解决方法

MySQL在远程访问时非常慢的解决skip-name-resolve

php通过公网ip链接mysql,速度很慢,如何解决?

MySQL在远程访问时非常慢的解决skip-name-resolve 并且出现 Reading from net

远程连接mysql数据库很慢,修改了my.ini配置文件,[mysqld]下加了skip-name-resolve并重启也没有用