При запуске 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, и теперь оно выполняется за 1 секунду.
myname.mydomain
и myname.mydomain.local
в /etc/hosts
на ip-адрес 127.0.0.1