2010-03-03 43 views
14

Acabo de instalar Windows 7 x64 Ultimate en mi PC de escritorio. Instalé IIS, Visual Studio 2008, ASP.NET registrado, etc.Sitios web ASP.NET bajo IIS 7.5 (Windows 7) ejecutando extremadamente lento

Tengo este sitio web ASP.NET 3.5 Estoy trabajando para ejecutar EXTREMADAMENTE lento en este nuevo IIS. En los servidores STA y PROD (Windows 2003 Server) y en mi antiguo XP/IIS 5.1 todo funciona sin problemas.

¡Una página que generalmente demora 1-2 segundos en cargarse toma 8 segundos!

Vi this post en el foro IIS. Dice algo sobre que Vista/7 no agrupa las conexiones (solo para hacerle saber que el sitio web se está ejecutando localmente pero se está conectando a un SQL Server 2005 alojado en un servidor remoto).

Parece que tarda un tiempo en "comenzar a cargar" la página ... Es decir, hago clic en actualizar y permanece durante varios segundos "Esperando el servidor local" ... Luego, cuando recibe la respuesta, carga todo página normalmente ...

No tengo ni idea de cómo obligar a Win7/IIS7.5 a poner en común las conexiones de la base de datos.

EDIT: He creado una nueva aplicación web ASP.NET vacía para ver si los problemas también ocurren. La respuesta es no, responde rápido como debería con una página predeterminada vacía. Tal vez es algo relacionado con la conexión DB. Haré una prueba adicional. Debe haber una manera de solucionarlo ...

EDIT 2: Depuración de la aplicación Me di cuenta de que el retraso se produce después de la ejecución de código .NET (Load, etc) ... lo que el retraso parece ser en algún lugar cuando IIS sirve la página para el navegador.

+0

Buen candidato para serverfault.com imo ... – ChristopheD

+1

La configuración de la aplicación es una parte importante de la programación/desarrollo imo. – Russell

+0

Sin embargo, tiene cierta relevancia para la programación: los desarrolladores necesitan saber este tipo de cosas porque están destinados a encontrarlas. – slugster

Respuesta

5

Para aquellos que tienen el mismo problema, aquí hay dos posibles soluciones.

  • 1) admite deshabilitar IPv6 en Firefox (sólo para Firefox)

La mayoría de los autores que se enteraron de este enfoque sugiere como solución más rápida y más limpia. Lo que debes hacer es básicamente abrir la configuración en Firefox (about: config) y cambiar la configuración de network.dns.disableIPv6 a true.

  • 2) Cambiar la configuración de localhost en su archivo de hosts (todos los navegadores)

Esto vino a mí como una idea para comprobar dónde y cómo puedo interferir en la configuración de IPv6 en mi máquina.Vi uno de los comentarios sobre las fuentes mencionadas anteriormente que dicen que uno puede deshacerse del problema simplemente reemplazando localhost con el nombre de la máquina en la url.

No tardé mucho en comprobar y ver que deshabilitar mi búsqueda de host local IPv6 hace lo mismo que deshabilitar IPv6 directamente en Firefox.

Lo que hay que hacer es, básicamente, para comentar/borrar esta línea en su archivo de hosts:

#::1    localhost 

Nota: :: 1 notación es IPv6 equivalente de la búsqueda de direcciones IPv4 127.0.0.1.

Creo que la segunda solución podría ser más adecuada para usuarios que no desean deshabilitar IPv6 en general, y la primera para todos los demás que todavía no usan IPv6 en su trabajo habitual.

+0

Gah ¡el enlace está caído! –

+0

@IanDevlin Está funcionando, pero editaré la pregunta para incluirla en caso de que se rompa nuevamente. – emzero

1

Usted puede intentar ejecutar múltiples procesos como grupos de aplicaciones:

  • Abrir IIS
  • Haga clic en Grupos de aplicaciones
  • Haga clic derecho en el grupo de aplicación para su aplicación y haga clic en Configuración avanzada
  • Encuentra la "Procesos máximos de trabajo" y actualice a 3 (o la cantidad de procesos que desea permitir que se ejecute).
+0

Actualízalo a 3 ... No ha cambiado nada ... Parece que lleva un tiempo "comenzar a cargar" la página ... Es decir, hago clic en actualizar y permanece durante varios segundos "Esperando el servidor local". Luego, cuando recibe respuesta, carga la página entera normalmente ... – emzero

+0

Eso suena como que cada solicitud está reactivando el servicio. Verifique que el tiempo de espera de keep-alive del servicio esté establecido en cero. – Russell

+0

¿Dónde pondrías esto? – noobish

3

que estaba teniendo el mismo problema: rendimiento lento sitio extremadamente muertos utilizando IIS 7.5 en Windows 7 de 64 bits con un procesador Core 2 Duo con 4 GB de RAM y 3 Procesos grupo de aplicaciones que ejecuta solamente 1 web. Esto es lo que hice para devolver la velocidad a IIS, problema resuelto ...

El truco para mí era ejecutar IIS utilizando trabajadores de 32 bits, como lo indica Microsoft en IIS.net, que puede leer aquí:

http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/

solución sencilla siempre (no quiero volver a escribir aquí) ... o se puede ejecutar un comando de 1 línea desde el símbolo del sistema de Windows o un comando de 1 línea de Windows PowerShell. Acabo de ejecutarlo desde la línea de comandos (asegúrese de abrir la línea de comandos o PowerShell como administrador, haga clic con el botón derecho en> Ejecutar como administrador).

Gracias, Marty McGee

+0

No sé por qué querrías hacer eso, pero ¿estás seguro de que no se debe a IPv6? Es un error conocido. – emzero

+0

Todo lo que sé es que el sitio web de IIS.net recomienda que IIS utilice trabajadores de 32 bits en Windows 7 de 64 bits, como indica el enlace. No sé por completo si tiene algo que ver con IPv6. Todo lo que sé es que estoy ejecutando sitios locales en una caja local e IIS es muy lento con procesadores de 64 bits y muy rápido con procesadores de 32 bits. Si ayuda, no tuve que hacer esto con Windows 2008 Server de 64 bits, ya que los trabajadores de IIS de 64 bits funcionan perfectamente en este sistema operativo. Windows 7 es una historia diferente para mí. –

+0

¿Pero ha intentado deshabilitar ipv6 como decía en la respuesta aceptada? – emzero

0

sé que el OP se ejecuta IIS 7.5 y esto puede no aplicarse a él, pero les dejo esto, ya que podría ayudar a los demás cuando corren IIS Express 8.0. Tuve el mismo problema y ninguno de los cambios en el archivo IPv6 o hosts funcionó para mí. Mi proyecto asp.net MVC4 fue muy lento después de presionar F5 para actualizar los cambios js en localhost. Estaba sucediendo en todos los navegadores: Chrome, FF e IE. Eventualmente descubrí que IIS Express 8.0 es extremadamente lento cuando se sirven archivos js y parece ser un error. Si ejecuté iisexpress en la línea de comando y presioné F5, pude ver que cada archivo js tardaba 4 o 5 segundos en cargarse.

Terminé desinstalando IIS 8.0 e instalando IIS express 7.5 y de inmediato el problema se solucionó. Estos son los pasos que hemos seguido:

  • desinstalar IIS expresar 8,0
  • Eliminar la carpeta IISExpress (en Win 7 que se encuentra en Mis documentos \ IISExpress)
  • Instalar expresar IIS 7,5 (Link to IIS Express 7.5 download)

Parece que IIS Express 8.0 está instalado con VS 2012, por lo que si tuviera una nueva instalación o posiblemente una actualización del paquete de servicio, esto podría actualizar la versión anterior de IIS Express.

Cuestiones relacionadas