MySQL性能 - 100Mb以太网与1Gb以太网

时间:2010-04-16 21:58:41

标签: mysql performance odbc ethernet

我刚刚开始一项新工作,并注意到分析师计算机以100Mbps连接到网络。我们针对MySQL服务器运行的ODBC查询可以轻松返回500MB +,有时服务器处于高负载状态时,DBA会杀死低优先级的作业,因为它们运行时间太长。

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

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

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

由于 罗布

3 个答案:

答案 0 :(得分:3)

  1. 基准。 MySQL有许多工具可用于确定查询所需的时间。可能你有很糟糕的疑问。使用慢查询日志。
  2. 为什么要在MySQL中传输/存储500MB的数据?

答案 1 :(得分:2)

按查询时间划分数据量,您将获得答案。如果你的容量接近100Mbps,你就会遇到IO问题。

答案 2 :(得分:1)

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

在MySQL shell中,我会运行:

  

显示完整的流程列表

在机器上

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

参考:show processlist

参考:Status definitions