Firefox и Chrome медленно работают на локальном хосте; известное исправление не работает в Windows 7

Известно, что Firefox и Chrome работают медленно на локальном хосте, когда включен IP6. В предыдущих версиях Windows самым простым решением было закомментировать эту строку из файла hosts, как описано в ответ на этот вопрос.

::1 localhost

Однако как указано в этом вопросе, в Windows 7 эта строка уже закомментирована:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1 localhost
#   ::1 localhost

Есть ли альтернативный способ отключить ссылку ::1 localhost в Windows 7?


person Herb Caudill    schedule 13.11.2009    source источник
comment
Кстати, я заметил, что аналогичный вопрос был перемещен в SuperUser - я думаю, что это проблема такого рода, на которую мог бы ответить только программист, поскольку никто другой обычно не использует localhost в браузере; так что я надеюсь, что вы позволите мне оставить это здесь. Некоторое время назад я отправил этот вопрос в SuperUser и ничего не получил. superuser.com/posts/65049   -  person Herb Caudill    schedule 13.11.2009
comment
Разве это не лучше подходит для superuser.com, поскольку это не имеет отношения к программированию?   -  person Mark Mayo    schedule 13.11.2009
comment
Это проблема, которая замедляет разработчиков, если ее не решить. Я голосую за то, чтобы оставить его здесь. Кто-нибудь знает, является ли это проблемой, над решением которой работает Google / ff?   -  person kiev    schedule 28.05.2010
comment
У меня возникла эта проблема после обновления моей системы разработки до Win 7. Я потратил часы на отладку кода моего веб-сервера, пытаясь выяснить, почему он так медленно доставляет документы, прежде чем я отследил это до DNS и понял, что это разрешение localhost. Это определенно вопрос разработчика.   -  person Lawrence Dol    schedule 29.10.2010


Ответы (9)


Оказывается, если вы раскомментируете строку 127.0.0.1 в файле hosts, Chrome вернется к своему мгновенному состоянию на локальных URL-адресах.

# localhost name resolution is handled within DNS itself.
    127.0.0.1 localhost

Файл hosts обычно находится по адресу C:\WINDOWS\system32\drivers\etc\hosts. Чтобы отредактировать его в Win7, вам нужно запустить Блокнот от имени администратора.

person Herb Caudill    schedule 28.11.2009
comment
+1, спасибо за это - я сильно изменил время загрузки (от 5-10 секунд до ‹1 секунды). - person Jerad Rose; 19.05.2010
comment
Я предполагаю, что это также работает для FF; или вам нужно добавить локальный хост к доменам только IPV4 для FF. - person Lawrence Dol; 29.10.2010
comment
У меня Windows 7, и она работает и для FF, что исключает необходимость отключать IPv6 в самом FF. - person Oundless; 25.11.2010
comment
редактирование файла может быть проблемой, так как вам нужно запустить блокнот от имени администратора, вы можете использовать этот инструмент, чтобы ускорить его - amazify.com/windows-hosts-file-editor - person Brady Moritz; 01.08.2017

Оказывается, медлительность вызвана проблемой IPv6 с DNS и может быть легко решена отключением поддержки IPv6 в Firefox во время тестирования localhost. Чтобы внести изменения, введите

about:config 

в адресной строке найдите

network.dns.disableIPv6

настройку и дважды щелкните ее, чтобы установить значение true. Это решает проблему с локальным хостом Firefox в Vista, и все снова работает быстро.

http://kb.mozillazine.org/Network.dns.disableIPv6 содержит всю необходимую информацию - удачи!

person Mark Mayo    schedule 13.11.2009
comment
Большое спасибо. Я пробовал это, и это работает. Я все еще хотел бы увидеть решение для Chrome. - person Herb Caudill; 13.11.2009
comment
Это хорошо известная проблема FF. Я всегда выключаю ipv6 на своей локальной машине разработчика. - person Pure.Krome; 01.06.2010
comment
Лично я предпочитаю добавлять localhost в network.dns.ipv4OnlyDomains, а не полностью отключать ipv6. Я знаю, что сейчас это не имеет большого значения, но я не могу избавиться от ощущения, что я забуду, что однажды сделал это, и задаюсь вопросом, почему сайты ipv6 не загружаются - person fyjham; 01.06.2010
comment
Подход Тима лучше, см. kb.mozillazine.org/Network.dns.ipv4OnlyDomains и еще один обзор здесь: dotnetslackers.com/ - person James Baker; 09.12.2010
comment
Я много лет использую Firefox для локальной разработки на своем Mac и не сталкивался с этой проблемой до недавнего времени. Добавление localhost в network.dns.ipv4OnlyDomains помогло мне, но мне пришлось перезапустить Firefox, прежде чем это вступило в силу. - person maurits; 23.05.2019

Я столкнулся со странной проблемой: только один из моих локальных доменов работал медленно, в то время как все остальные отвечали нормально. Не мог понять, почему, и, наконец, поместил ::1 localhost внизу под другими моими ::1 something.local, и он мгновенно прояснился, где раньше он был у меня над другими записями. (Я использую OS X 10.8.3)

Мой последний файл hosts выглядел примерно так:

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 something.local
::1 something2.local
::1 something3.local
::1 localhost
fe80::1%lo0 localhost
person Stefan Liedle    schedule 02.04.2013
comment
Блестяще! Работал у меня на osx - person DudeOnRock; 26.02.2014

Я бы сделал то, что сказал Тим Шнайдер. Также здесь упоминается этот Джеймс: http://theycallmemrjames.blogspot.com/2010/09/firefox-is-really-slow-testing-sites-on.html

«Дважды щелкните ipv4OnlyDomains и введите localhost»

Джей

person Jay    schedule 11.02.2011

У меня было несколько записей в hosts (потому что я запускаю виртуальные серверы). Раньше у меня было

127.0.0.1        localhost
127.0.0.2      i.localhost
127.0.0.3 secure.localhost

Кажется, что лучше, но не идеально, это:

127.0.0.1 localhost secure.localhost i.localhost

Я предлагаю закрыть браузеры, выключить Apache, перезапустить в обратном порядке при тестировании.

Пока что ни одно из исправлений не помогло мне. Проблема сохраняется периодически. ..

Однако я заметил кое-что интересное и решил поделиться в надежде, что кто-то еще может добавить к этому.

Если вы отключите Wi-Fi (т. е. отключите внешний интернет-канал), и если у вас, например, открыты Chrome, FireFox и, возможно, другие браузеры одновременно, и если Chrome блокирует страницу, и вы получаете вращающееся булавочное колесо, и вы пытаетесь в этот момент также загрузить файл из другого браузера (с localhost), он также будет зависать до тех пор, пока chrome окончательно не истечет (или что-то еще) и, наконец, не завершится через несколько секунд, даже для простых страниц.

Это также происходит при блокировке IE и блокировке доступа из других браузеров. Я пробовал это много раз и убежден, что происходит что-то очень забавное.

Кажется, существует связь между различными процессами браузера. Ненавижу это говорить, но подозреваю, что в стеке IP-адресов Windows есть ошибка, как бы это ни звучало. Другая возможность заключается в том, что хром просто застревает или перегружает стек IP-адресов, или блокирует какой-то файл, чтобы другие не могли его использовать.

Также очень интересно отметить, что если в то время как Chrome зависает, вы повторно включаете Wi-Fi, как только Интернет подключается, Chrome или IE завершают работу вместе с любыми другими браузерами, также заблокированными.

Это как-то странно, если вы спросите меня. Если вы работаете с localhost, НЕ должно быть никакого взаимодействия с Интернетом.

Я пытался использовать WireShark, чтобы увидеть, что происходит, но это сбивает с толку, и пока мне не удалось определить какие-либо связанные пакеты.

Происходит что-то очень забавное.

Я удалил свой .htaccess и поместил httpd.conf, в котором есть минимальные отличия от значений по умолчанию.

Я использую Win7x64Pro, Apache 2.4.7.

Кстати, это не php. Я уверен в этом на данный момент.

Кроме того, похоже, что блокировки происходят на ^ R (перезагрузка страницы), а не при переходе на страницу, и где другие компоненты страницы должны быть проверены на предмет наличия текущего, например, спрайты меню (изображения). Это будет то место, где есть статус 304 (используйте HttpFox, чтобы увидеть это).

Кроме того, если вы быстро перезагрузите ту же страницу, вероятность того, что она будет работать, намного выше. Если подождать минуту, то опять часто давится. Я подозреваю, что хром приносит результаты из краткосрочной выплаты денег, которая частично скрывает более глубокую проблему.

person Elliptical view    schedule 08.03.2014

Как заметил кто-то другой в другом ответе - если у вас есть bitdefender, это весело испортит ваш опыт разработки.

Лучше всего открыть консоль Bit Defender, ввести alt-shift-control-g (что переводит ее в «игровой режим») и запустить оттуда.

в игровом режиме bitdefender не блокирует ваш локальный хост!

person bharal    schedule 05.06.2012

Это не прямой ответ, но у меня была та же проблема, и ни одно из указанных выше изменений файлов IPv6 или hosts не помогло мне. Мой проект asp.net MVC4 был очень медленным после нажатия F5 для обновления изменений js на localhost. Это происходило во всех браузерах - Chrome, FF и IE. В конце концов я узнал, что IIS Express 8.0 был установлен без моего ведома, и оказалось, что 8.0 работает очень медленно при обслуживании файлов js и, похоже, является ошибкой. Если бы я запустил iisexpress в командной строке и нажал F5, я бы увидел, что загрузка каждого js-файла занимает 4 или 5 секунд.

В итоге я удалил IIS 8.0 и установил IIS Express 7.5, и проблема сразу была решена. Вот шаги, которые я выполнил:

Кажется, что IIS Express 8.0 установлен с VS 2012, поэтому, если у вас была новая установка или, возможно, обновление пакета обновления, это могло привести к обновлению вашей предыдущей экспресс-версии IIS.

person Ciarán Bruen    schedule 19.11.2013

Немного поздно для ответа, но я попробовал все вышеперечисленное, и все же это было медленным для меня в Windows 7. Когда я использую localhost, загрузка страницы занимала около 20 секунд.

Firefox улучшился с ответом @Mark Mayo, но не все время, а Chrome все еще был очень медленным.

Я нашел решение здесь

По сути, я добавил следующие строки в файл Apache httpd.conf (поскольку их там еще не было)

AcceptFilter http none 
AcceptFilter https none 
EnableSendfile off 
EnableMMAP off

Протестировано как Chrome, так и Firefox, и страница загружается мгновенно

person AdRock    schedule 20.06.2014

Просто попробуйте режим "инкогнито" в Chrome и "приватный режим" в Firefox.

Я знаю, что это неправильный ответ. Но вы можете использовать это как временное решение.

person Roshan Perera    schedule 14.08.2017