编程语言
首页 > 编程语言> > python – gethostbyname_ex(hostname)非常慢

python – gethostbyname_ex(hostname)非常慢

作者:互联网

在启动时,IPython(qtconsole)调用socket.gethostbyname_ex(socket.gethostname())[2]来查找指向该机器的IP地址列表.在我管理的Linux服务器上,这个调用非常慢(> 20秒)…我很难理解,因为ip addr show似乎几乎瞬间提供相同的信息.有什么办法可以让它更快吗?这可能是网络配置问题(我在路由器后面)?

此问题独立于IPython:

$time python -c 'import socket; print(socket.gethostbyname_ex(socket.gethostname())[2])' 
['192.168.0.102']
python -c   0.07s user 0.02s system 0% cpu 28.190 total

谢谢.

解决方法:

我遇到了类似的问题.
碰巧我的主机名是localhost.localdomain,在安装操作系统时很懒.

解决方案是通过sudo vi / etc / hostname为其命名,并将其更改为myname.mydomain,现在它以1s运行.

标签:python,sockets,ip-address,gethostbyname
来源: https://codeday.me/bug/20191003/1847278.html