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

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.