Это кажется настолько простым, что люди будут кричать об этом, поиск в Интернете ничего не дал, но я проверил это на нескольких сетях и компьютерах. У нас возникла проблема, когда мы используем .local url для доступа к ресурсам, это очень медленно. Если мы используем прямой IP-адрес, мы не видим этих задержек.
В нашей урезанной тестовой настройке устройство и компьютер находятся на одном коммутаторе и являются единственными устройствами на коммутаторе. То же самое происходит, когда мы не находимся в этой очень ограниченной конфигурации сети. Mac OS X Lion В командной строке мы получаем следующие результаты:
С прямым IP:
curl 10.101.62.42 0.01s user 0.00s system 18% cpu 0.059 total
С именем Bonjour:
curl http://xrx0000aac0fefd.local 0.01s user 0.00s system 0% cpu 5.063 total
Постоянно чуть более 5 секунд на запрос для разрешения. Неважно, к какому устройству мы пытаемся подключиться, похоже, то же самое происходит в нашем приложении для iPhone, и медленно работает со скриптами Python. Похоже, Safari может быстро разрешать имена.
Мы могли бы разрешить один раз, а затем использовать IP-адрес, но этот первый запрос все равно будет неприемлемо медленным, и я не думаю, что именно так Bonjour должен работать.
Мы не совсем уверены, когда это начало происходить, но так было не всегда.
Редактировать: еще одна точка данных. На Snow Leopard это не медленное разрешение:
$ time curl http://hp1320.local > /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
101 2848 0 2848 0 0 15473 0 --:--:-- --:--:-- --:--:-- 36512
real 0m0.201s
user 0m0.005s
sys 0m0.009s