Firefox и Chrome работают медленно на localhost; известное исправление не работает в Windows 7 - PullRequest
54 голосов
/ 13 ноября 2009

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?

Ответы [ 9 ]

61 голосов
/ 29 ноября 2009

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

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

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

22 голосов
/ 13 ноября 2009

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

about:config 

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

network.dns.disableIPv6

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

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

4 голосов
/ 02 апреля 2013

Я столкнулся со странной проблемой, когда только один из моих локальных доменов работал медленно, в то время как все остальные отвечали просто отлично. Не мог понять, почему, и, наконец, поместил ::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
2 голосов
/ 11 февраля 2011

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

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

Jay

0 голосов
/ 14 августа 2017

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

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

0 голосов
/ 20 июня 2014

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

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

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

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

AcceptFilter http none 
AcceptFilter https none 
EnableSendfile off 
EnableMMAP off

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

0 голосов
/ 08 марта 2014

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

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, перезапустить в обратном порядке при тестировании.

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

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

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

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

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

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

Странно, если вы спросите меня. Если вы работаете на локальном хосте, НЕТ взаимодействия с Интернетом.

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

Происходит что-то очень смешное.

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

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

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

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

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

0 голосов
/ 19 ноября 2013

Это не прямой ответ, но у меня возникла та же проблема, и ни одно из указанных выше изменений IPv6 или файлов хостов не помогло мне. Мой проект 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
  • Удалить папку IISExpress (на Win 7 она находится в папке Мои документы \ IISExpress)
  • Установка IIS Express 7.5 ( Ссылка на IIS Express 7.5 скачать )

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

0 голосов
/ 05 июня 2012

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

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

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

...