我们有一个使用封闭源代码库的应用程序。我们的一个客户抱怨应用程序在启动时耗时很长,并向我们发送了性能跟踪(使用microsoft并发可视化工具)。
在这个跟踪中,我可以看到在启动时,从第三方LookupAddressForName调用的ws2_32.dll!dll中花费了大约一分钟的时间。
(这是多个调用,不是单个调用花费这么长时间,但是由于并发可视化工具使用的是采样,而不是检测,所以我看不出每个单独的调用需要多长时间。)
我找不到任何关于LookupAddressForName的文档,但从名称和上下文判断,我假设它将主机名转换为ip地址,例如进行DNS查找。
我不能在本地重现它,也不能在客户处安装调试器。
客户的操作系统是加入到域的Windows 7.1企业版。
你知道在什么情况下LookupAddressForName可能会阻塞几秒吗?
发布于 2016-07-21 20:11:18
网络连接速度慢是最常见的情况。假设有一个远程分支机构通过非常慢的连接连接到总公司。
https://stackoverflow.com/questions/38503715
复制相似问题