本地IP与环回的数据库访问速度?

时间:2011-09-04 19:57:46

标签: mysql performance networking installation

问题:

MySQL只接受一个I​​P来监听。 所以你可以做到 bind-address = 127.0.0.1 要么 bind-address = 192.168.1.125

192.168.1.125与127.0.0.1是同一台计算机,假设你不想绑定到0.0.0.0。

因此,如果我将其设置为192.168.1.125,允许从另一台计算机连接到它(例如管理数据库,创建表,更新等),那么运行在192.168.1.125上的Web应用程序也必须通过192.168.1.125。

我现在的问题是: 当应用程序连接到IP 192.168.1.125而不是连接到127.0.0.1时,从机器192.168.1.125上的Web应用程序运行的数据库查询的性能会更差吗?

理论上,它会通过路由器将查询发送回自身,从而降低性能,而不是环回接口。

基本上,驱动程序/操作系统是否足够复杂,以致它不能通过网络发送数据,因为在这种情况下这不是必需的?

2 个答案:

答案 0 :(得分:4)

traceroute 192.168.1.125
分别在Linux上

tracert 192.168.1.125
Windows上的

应该给你答案:)

是的,操作系统非常复杂,无法通过网络连接到路由器,我很确定它也不会通过网卡。如果你真的想确保没有性能影响,最好是做一些小的微基准测试并进行比较。

答案 1 :(得分:0)

数目:

  1. 是的,操作系统非常复杂,可以意识到它不需要使用物理硬件与自己交谈
  2. 无论如何你都不在乎
  3. 您不需要设置bind-address。如果您没有设置它,它将绑定到所有接口。这几乎绝对是你想要的。

    在极不可能的情况下,你有几个网络连接,其中一些你不希望mysql监听,那么你需要"绑定地址"命令。但是,如果可能的话,我会阻止它的使用(改为使用防火墙来阻止你不想从互联网连接的地方建立连接。)