我们有一个使用封闭源库的应用程序。我们的一位客户抱怨应用程序在启动时需要很长时间,并向我们发送了性能跟踪(使用microsoft并发可视化工具)。
在这个跟踪中,我可以看到在启动时,大约花了一分钟在ws2_32.dll!LookupAddressForName中,从第三方dll调用。
(这是多次调用,而不是一次调用需要这么长时间,但由于并发可视化工具使用抽样,而不是仪器,我无法看到每次调用需要多长时间。)
我无法找到关于LookupAddressForName的任何文档,但是从名称和上下文判断,我假设它将主机名转换为ip地址,例如进行DNS查找。
我无法在本地重现,我无法在客户处安装调试器。
客户操作系统是Windows 7.1 Enterprise,加入域。
您知道LookupAddressForName可能会阻止多秒吗?
答案 0 :(得分:0)
网络连接速度较慢是最常见的情况。想想通过非常慢的连接连接到总部的远程分支机构。