Почему локальные запросы к виртуальному хосту Apache работают локально так медленно?

1389
mseifert

Мой локальный сервер Windows 7 настроен с использованием моего основного локального адреса и нескольких виртуальных хостов, настроенных для обслуживания изображений без файлов cookie и JavaScript (у меня также настроено несколько других виртуальных хостов).

У меня время загрузки 5000 мс на пару файлов с использованием адреса виртуального хоста, и я мог бы помочь понять, почему.

Почему локальные запросы к виртуальному хосту Apache работают локально так медленно?

ОБНОВИТЬ

Основываясь на совете по этому посту, я закомментировал ::1 localhost. Я посмотрю, решит ли это проблему, и доложу.

Мой файл hosts содержит следующее:

127.0.0.1 localhost static mseifert design static-mseifert static-design ::1 localhost 

Мои виртуальные хосты настроены нами так:

<VirtualHost *:80> ServerAdmin michael@localhost DocumentRoot "D:/Website/mseifert/xyz" ServerName static  <Directory "D:/Website/mseifert/xyz"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order deny,allow deny from all Allow from localhost Require all granted </Directory> </VirtualHost>  <VirtualHost *:80> ServerAdmin michael@localhost DocumentRoot "D:/Website/mseifert" ServerName static-mseifert  <Directory "D:/Website/mseifert"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order deny,allow deny from all Allow from localhost Require all granted </Directory> </VirtualHost> 

В моем apache access.log нет ошибок:

127.0.0.1 - - [07/Feb/2017:20:38:49 -0800] "GET / HTTP/1.1" 200 101841 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /css/colwidth.min.css?v=1476516603 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /js-common/dragdrop.min.js?v=1483776115 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /css/slideshow.css.php?static-img-common=http://static-mseifert/img-common&v=1484865716 HTTP/1.1" 200 6394 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /css/slideshow.min.js?v=1486279758 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /js-common/common.min.js?v=1485074534 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /js/media.match.min.js?v=1370658510 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /css/ms.min.js?v=1485063063 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /css/wtr.css.min.php?static-img-common=http://static-mseifert/img-common&static-site-root=http://static&static-top-root=http://static-mseifert&v=1486360034 HTTP/1.1" 200 37255 127.0.0.1 - - [07/Feb/2017:20:39:11 -0800] "GET /js/hmac-sha1.js?v=1455443904 HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img-common/lock.png HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img/lady.jpg HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img/lady-header.jpg HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img-common/menublank.png HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img-common/menublanka.png HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img-common/arrow.gif HTTP/1.1" 304 - 127.0.0.1 - - [07/Feb/2017:20:39:12 -0800] "GET /img-common/vmenuback.gif HTTP/1.1" 304 - 
1

1 ответ на вопрос

0
JakeGould

Используйте только IP-адреса в директивах конфигурации Apache.

Вместо использования localhostв вашем конфигурационном файле Apache, просто используйте 127.0.0.1. Итак, это:

Allow from localhost 

Изменения к этому:

Allow from 127.0.0.1 

Я более подробно расскажу в своем другом ответе на другой вопрос здесь, но в основном HostnameLookupsэто медленный процесс для Apache, и когда он является частью директивы конфигурации Apache, HostnameLookupsвключается, даже если он отключен в другом месте . Так что это правда, чтобы решить localhostи просто висит и висит.

Это прояснило многие «загадочные» зависания на серверах Apache, которые использовали директивы Allow/ Deny.

Благодарю. Я дам ему попробовать. Комментирование :: 1 localhost, казалось, позаботился об этом с первого взгляда, но размер выборки был небольшим. mseifert 7 лет назад 0
Прокомментировав :: 1 localhost, похоже, решил проблему, и время 5000 мс ушло. Интересно, что при изменении всех `Разрешить с локального хоста` на` Разрешить с 127.0.0.1` в httpd-vhosts.conf (их нет в httpd.conf), монитор производительности снова показывает много файлов со временем загрузки 5000 мс. mseifert 7 лет назад 0

Похожие вопросы