Pregunta

Tengo una Ajax.Net habilitado ASP.Net 2.0 sitio web.Hosting para el sitio y la base de datos está fuera de mi control, como es el de la base de datos del esquema.En las pruebas en hardware que controlan el sitio funciona bien, sin embargo, en el hardware del cliente, hay notables retrasos al recargar o cambiar de página.

Lo que me gustaría hacer es hacer que mi aplicación sea lo más compacto y rápido como sea posible cuando me lo entregan.Una idea es la de fijar las fechas de vencimiento para todo el sitio estática de recursos, por lo que no se recuerda en la carga de la página.Por recursos me refiero a las imágenes, hojas de estilo vinculadas y archivos de origen de JavaScript.Hay una manera fácil de hacer esto?

¿Qué otras maneras existen para optimizar una .Página web de la red?

ACTUALIZACIÓN:Me he quedado YSlow en el sitio y de las áreas donde estoy siendo los más afectados son en el número de JavaScript y Hojas de Estilo que se cargan (23 de ficheros JS y 5 hojas de estilo).Todos menos uno (el principal de la hoja de estilo) ha sido insertada por Ajax.net y Asp.¿Por qué tantos?

¿Fue útil?

Solución

  1. Script de Combinación en .net 3.5 SP1
  2. Las mejores Prácticas para los sitios web rápidos
  3. HTTP Compresión (gzip)
  4. Comprimir JS / CSS (diferente de la compresión http, minify javascript)
    1. YUI Compressor
    2. .RED de YUI Compressor

Mi mejor consejo es la verificación de la YUI contenido.Tienen algunos grandes artículos que hablan de cosas como CSS sprites y tienen algunos bonito bibliotecas de javascript para ayudar a reducir el número de solicitudes de el navegador está haciendo.

Otros consejos

Si estás usando Firefox para probar su sitio web, es posible que desee probar una interesante extensión para Firefox de Yahoo!llama YSlow.

Analiza tus páginas web y ofrece los grados de a-F (A ser la Mejor y F es la peor) para cada uno de las mejores prácticas, de alto rendimiento de sitios web.Esto le ayudará a seguir la pista de los elementos de su sitio web que usted podría optimizar para obtener mejoras.

Gire a la viewstate desactivado por defecto, va a ser una de día y de noche diferencia en incluso el más simple de las páginas.

Escribí un blog sobre la mejora de la ASP.NET el rendimiento de la página en un par de meses.Aquí están algunas rápidas y fáciles maneras -

  • Apague el estado de vista
  • Desactivar la validación de un evento de
  • Implementar HTTP gzip/desinflar la compresión para reducir el tamaño de respuesta (número de bytes que el servidor tiene que enviar al cliente)
  • Intente optimizar/minimizar su base de datos de llamadas para cada solicitud

Creo que usted realmente necesita para ser capaz de obtener algunos reales de Rendimiento de datos/telemetría de la aplicación mientras se ejecuta en la producción, para ser capaz de hacer un iluminado decisión acerca de lo que para optimizar.

Como un tiro de distancia de la punta me gustaría asegurarse de que su aplicación se implementa como un Liberación construir y set debug="false" en el 'compilación'sección de su sitio web.config.

Usted parece estar empezando por asumir que el problema es el tamaño de la descarga - que puede no ser necesariamente el caso.Usted debe hacer un poco de experimentación con su ASP.NET sitio para determinar si hay áreas en el código que están causando demoras indebidas.Si resulta que el tamaño de la descarga no es su problema, usted tendrá que encontrar maneras para almacenar en caché los resultados (mira en la caché de resultados, que es una ASP.NET característica) o optimizar el código.

En cualquier caso el primer paso cuando se mira en un problema de rendimiento es siempre para comprobar su hipótesis primera, a continuación, decidir sobre un curso de acción.

Usted podría empezar a buscar estrategias de almacenamiento en caché.Los archivos estáticos como CSS (incluso las comprimidas) y las imágenes (incluso optimizado queridos) sólo es necesario descargarse una vez en el navegador, por un período de tiempo.

Scirpt la combinación de AJAX ya se ha mencionado, pero yo no me di cuenta de referencia para la ScriptReferenceProfiler MS ha publicado en codeplex para ayudar a averiguar qué combinar.Mike Ormond tiene un buen punto de inicio en este.

Otro consejo, si está haciendo una gran cantidad de Inserciones a la base de datos es de doble comprobación de su servidor de almacenamiento en caché de disco se enciende.Caso en punto, yo tenía un importador de datos haciendo 1,2 millones de inserciones durante una carrera.Llevo 4 horas y cambio sin almacenamiento en caché.Tardó 16 minutos con él en.

Una cosa general, cuando se utiliza ASP.NET y Ajax (cualquier Ajax library) es evitar elephanting su Page_Load y Page_Init (y su método de homólogos) de las cosas, ya que estos se van a ejecutar en cada Petición Ajax.

Cuando se dijo que yo iba en serio zanja ASP.NET el AJAX y el uso nada otra cosa...

Anthem.NET, AjaxPRO.NET, jQuery o cualquier otra cosa que ASP.NET AJAX...

Claro que me gustaría usar Ra-Ajax yo mismo, ya que es mi proyecto.Pero, de nuevo, yo soy parcial...

Usted puede activar la compresión basado en el cliente que lo soporte.Consulte este artículo: enlace de texto

Los recursos estáticos no debería ser reenviados a menos que se cambie.IIS enviará un código de respuesta que le dice al navegador que utilice la versión en caché.

También se puede ver en ASP.NET almacenamiento en caché de resultados, los cuales pueden ser aplicados bastante granular a diferentes partes de su página:

http://msdn.microsoft.com/en-us/library/xsbfdd8c(VS.71).aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top