性能:mysql socket 与 mysql remote

性能:mysql socket 与 mysql remote

我正在运行几个消耗大量 MySQL 资源的项目(高峰期为 10'000 qps)...现在我想知道最好的设置是什么,以便即使用户数量增长也能保持其快速和流畅。

目前我正在使用 1 台带有 nginx、php-fpm 和 mysql(双 xeon、24 GB 内存、SSD)的服务器,并通过本地套接字连接到 MySQL。

如果我有一个相同规格的远程 MySQL 服务器来分担 Web 服务器/数据库负载,我会遇到“性能下降”吗?

答案1

性能会受到影响,但影响的是延迟部分。因此,如果您运行大量并行连接,您可能不会注意到。如果您在一个(或几个)连接中连续执行 10kqps,您肯定会看到差异。

查询处理本身不会花费更长的时间,只是从客户端到客户端的数据往返时间将增加大约一毫秒左右(对于 1Gbit 线路而言,即使 10Gbit 以太网也会发挥作用)。因此,如果查询本身又花费了一毫秒,则每个连接的速度限制为大约 500qps。

使用本地套接字,往返时间几乎在几十微秒范围内......

答案2

如果我有一个相同规格的远程 mySQL 服务器来分割 web 服务器/数据库负载,我会遇到“性能下降”吗?

不是,如果您与数据库服务器有千兆或更快的链接。

相关内容