如果我使用公共主机名将数据发送到我的电脑,它是否真的通过互联网?

澄清:

我正在使用我的公共主机名连接到MySQL数据库。 主机名parsing为我的服务器的外部IP(例如1.2.3.4)。 我是通过MySQL连接发送/接收数据吗? 使用本地主机会更快吗? 它会占用我的服务器的带宽

如果你想确定,你可以使用traceroute 1.2.3.4 。 这将列出运行命令的主机和设备之间的所有路由器与1.2.3.4 IP地址。

如果你使用“localhost”作为连接你的MySQL服务器的主机名,MySQL将不使用TCP,而是使用套接字。 这应该是连接到本地运行的MySQL服务器的最快方法。

如果您的服务器的外部IP设置“正确”,即它不在内部networking的防火墙或代理之后,则stream量不会离开您的服务器,因为它知道目标IP地址是同一个系统。

你没有提到路由或交换设备的任何信息,但是你可以用自己的方式确保你的数据在返回之前就离开了,但事实上,你的数据几乎肯定不会以这种方式出去。

没有,如果全部在一台机器上,它不会离开机器。

如果您的计算机上的服务器IPconfiguration使用公共IP地址,则没有stream量会离开您的服务器(但是为了确保性能,它的安全性必须确定并使用本地主机)

如果你的IP是自动的,你的路由器有公共IP,你的服务器有一个内部IP,那么至lessstream量可能会离开你的服务器,并从路由器reflection回你的服务器,假设路由器端口reflection为它的端口转发的一部分 – 所以在某种意义上没有stream量会离开你的networking,但一些stream量将离开你的服务器

没有任何networking设置信息我不能比这更明确

拔下你的以太网电缆或断开你的WiFi,并尝试你的数据库连接,你会得到你的答案。 没有大惊小怪,没有麻烦!

您的结果可能会有所不同,但我可以通过外部地址访问我的系统,只要路由器与Internet断开就可以了。 但是,为此,我必须使用适当的固定IP地址来configuration路由器,因为这通常是由ISP通过DHCP发布的。

至于速度差异,理论上使用localhost应该更快,因为它消除了遍历networking所涉及的各种开销。 实际上,差异应该是非常小的,以至于你永远不能注意到它。

除了traceroute(已经提到)之外,你可以使用tcpdump或wireshark,并且监视任何mysql连接从你的主机中路由出来。 Localhost应该总是更快。