¿Por qué las solicitudes localhost a un host virtual de Apache que se ejecutan localmente son tan lentas?

1

Tengo mi servidor localhost de Windows 7 configurado con mi dirección de host local principal y un par de hosts virtuales configurados para servir imágenes sin cookies y JavaScript (también tengo algunos otros hosts virtuales configurados).

Tengo 5000ms de tiempo de carga en un par de archivos usando la dirección de host virtual y podría necesitar ayuda para descubrir por qué.

ingrese la descripción de la imagen aquí

ACTUALIZAR

Según el consejo de esta publicación , he comentado ::1 localhost. Veré si esto resuelve el problema e informaré de nuevo.

Mi archivo de hosts contiene lo siguiente:

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

Mis hosts virtuales están configurados así:

<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>

No hay errores en mi 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 -
mseifert
fuente

Respuestas:

0

Solo use direcciones IP en las directivas de configuración de Apache.

En lugar de usarlo localhosten su archivo de configuración de Apache, simplemente use 127.0.0.1. Así que esto:

Allow from localhost

Cambios a esto:

Allow from 127.0.0.1

Entro en más detalles en mi otra respuesta a otra pregunta aquí , pero básicamente HostnameLookupses un proceso lento para Apache y cuando es parte de una directiva de configuración de Apache, se HostnameLookupsenciende incluso si está deshabilitado en otro lugar . Por lo tanto, es cierto que se resuelve localhosty simplemente se cuelga y se cuelga.

Esto despejó muchos "misterios" que se cuelgan en los servidores Apache que usaban Allow/ Denydirectivas.

JakeGould
fuente
Gracias. Voy a darle una oportunidad. Comentando :: 1 localhost pareció ocuparse de él en el primer sonrojo, pero el tamaño de la muestra era pequeño.
mseifert
Habiendo comentado :: 1 localhost pareció resolver el problema y las 5000ms desaparecieron. Curiosamente, al cambiar todo Allow from localhosta Allow from 127.0.0.1httpd-vhosts.conf (no hay ninguno en httpd.conf), el monitor de rendimiento nuevamente muestra muchos archivos con tiempos de carga de 5000 ms.
mseifert