![如果我在主机文件中列出指向服务器计算机的域的条目,是否会提高性能?](https://linux22.com/image/552818/%E5%A6%82%E6%9E%9C%E6%88%91%E5%9C%A8%E4%B8%BB%E6%9C%BA%E6%96%87%E4%BB%B6%E4%B8%AD%E5%88%97%E5%87%BA%E6%8C%87%E5%90%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%9A%84%E5%9F%9F%E7%9A%84%E6%9D%A1%E7%9B%AE%EF%BC%8C%E6%98%AF%E5%90%A6%E4%BC%9A%E6%8F%90%E9%AB%98%E6%80%A7%E8%83%BD%EF%BC%9F.png)
我必须承认,我是一名软件工程师,而这些东西并不是我的专业领域。
我在 .NET 4 中有一个 Web 应用程序,它连接到托管在同一台机器上的各种 Web 服务。我们使用可公开访问的域来调用这些 Web 服务,而这些域又指向同一台机器。
问题是,如果我在服务器上将这些域指向 127.0.0.1,是否会获得一些性能改进?
在我看来,这样至少可以跳过域名查找。但正如我之前所说,这不是我的专业领域,我想知道是否有人可以对此提供一些帮助。
对于那些感兴趣的人,我正在使用 Windows Server 2008 R2,但我怀疑这是否真的很重要,因为我认为这可以应用于任何其他操作系统。
答案1
DNS 条目(通常)被缓存,因此尽管初始查找可能需要一秒钟左右,但后续查找(如果在短时间内)应该很快。
答案取决于您的代码尝试进行名称解析的频率,以及解析器库或操作系统缓存条目的时间。
即,如果您的 Web 应用程序每秒建立一次连接并始终进行名称解析,并且由于 TTL(生存时间)过期而始终被迫发送 DNS 请求,那么是的,删除它会为您带来性能上的好处。
但是,如果您的应用程序每 5 分钟连接一次,并且大多数时间都会获得缓存响应,那么您可能不会注意到任何变化。