LookupAddressForName做了什么以及它为什么这么慢

时间:2016-07-21 12:00:04

标签: c++ windows performance

我们有一个使用封闭源库的应用程序。我们的一位客户抱怨应用程序在启动时需要很长时间,并向我们发送了性能跟踪(使用microsoft并发可视化工具)。

在这个跟踪中,我可以看到在启动时,大约花了一分钟在ws2_32.dll!LookupAddressForName中,从第三方dll调用。

(这是多次调用,而不是一次调用需要这么长时间,但由于并发可视化工具使用抽样,而不是仪器,我无法看到每次调用需要多长时间。)

我无法找到关于LookupAddressForName的任何文档,但是从名称和上下文判断,我假设它将主机名转换为ip地址,例如进行DNS查找。

我无法在本地重现,我无法在客户处安装调试器。

客户操作系统是Windows 7.1 Enterprise,加入域。

您知道LookupAddressForName可能会阻止多秒吗?

1 个答案:

答案 0 :(得分:0)

网络连接速度较慢是最常见的情况。想想通过非常慢的连接连接到总部的远程分支机构。