1

我刚刚开始了一份新工作,并注意到分析师计算机以 100Mbps 的速度连接到网络。我们对 MySQL 服务器运行的 ODBC 查询可以轻松返回 500MB 以上,而且有时当服务器处于高负载状态时,DBA 会终止低优先级作业,因为它们运行时间过长。

我的问题是……服务器执行请求花费了多少时间,将数据返回给客户端花费了多少时间?可以通过将网络连接升级到 1Gbps 来提高查询速度吗?

(更新原因):有问题的数据库是为满足报告需求而构建的,并且包含大量数据。我们通常在 SAS 或 Excel 等外部应用程序中细化处理这些数据的子集,这就是传输大量数据的原因。查询的结构并不差——它们非常简单,并且正在使用适当的连接/索引等。我已经从帖子的标题中删除了“查询”,因为我意识到这个问题更多地与一般 MySQL 性能有关,而不是与查询相关的性能。我有点希望拥有千兆连接的人可以通过运行返回大量数据的查询来为我实际量化一些结果,然后他们可以将连接速度限制为 100Mb 并重新运行相同的查询。

如果以太网速度可以改善这种情况,我想要一些可量化的结果来帮助论证我升级网络连接的理由。

谢谢罗伯

4

3 回答 3

3
  1. 基准。MySQL 有许多工具可以确定查询需要多长时间。很可能你有非常糟糕的查询。使用慢查询日志。
  2. 为什么要从 MySQL 传输/存储 500MB 的数据?
于 2010-04-16T22:04:06.493 回答
2

将数据量除以查询时间,您将得到答案。如果您接近 100Mbps 的容量,您将遇到 IO 问题。

于 2010-04-16T22:05:17.140 回答
1

我的怀疑是肯定的。它应该是。

在 MySQL shell 中,我会运行:

显示完整的进程列表

在机器上检查查询的状态。如果您看到任何类似于“从网络读取”或“写入网络”的状态,这意味着网络传输正在直接影响 MySQL。您还可以查看 IOStat 结果以了解系统正在使用多少 IO。如果系统位于托管交换机上,您可能还想检查那里的负载。

参考:显示进程列表

参考:状态定义

于 2010-04-16T22:04:11.633 回答