Hoy estaba hablando con algunos amigos del grupo MSN sobre la optimización del rendimiento de los programas ASP.net.
Ahora resumamos los métodos de optimización:
1. Optimización de la base de datos, incluida la optimización de la estructura de la tabla, la optimización del índice, la optimización de la declaración SQL y la optimización del procedimiento almacenado.
2. Optimice el estado de vista
3. Utilice el almacenamiento en caché
4. Generar páginas estáticas (principalmente para el front-end de sistemas de publicación de información que no son muy interactivos)
5. Utilice IIS/Apache de front-end para manejar solicitudes de páginas estáticas, imágenes y archivos js.
6. Algoritmo de optimización
7. Todos pueden agregar
. Con respecto al ajuste del rendimiento, el consejo de casi todos los expertos es: si no existe una medición exacta del rendimiento, no realice el ajuste. El ajuste sin pruebas de rendimiento comparativas básicamente no tendrá otros beneficios excepto ensuciar el código del sistema. El efecto que se obtiene al trabajar duro para mejorar un algoritmo de 0,1 segundos a 0,01 segundos a menudo se perderá por completo debido a una declaración de selección incorrecta.
Por lo tanto, los métodos anteriores no son una panacea. Para sintonizar, primero debe comprender dónde está lento el sistema. Nunca busque atención médica con prisa. El siguiente contenido proviene de mi experiencia laboral personal, no todos los sistemas se pueden aplicar, ¡recuerde! ! ! !
Analicemos estos cuatro métodos de ajuste:
Para aplicaciones de tipo OA/sistema de gestión empresarial, la optimización de la base de datos suele ser un punto clave por varias razones:
1.CRUD en la base de datos es la operación más común en estos sistemas.
2. Las operaciones en el sistema de base de datos a menudo provocan E/S de disco (porque los archivos y registros de la base de datos se guardan en el disco)
3. Las operaciones de aplicaciones en el sistema de base de datos suelen ser entre procesos o incluso entre máquinas. (E/S de disco + E/S de red, no importa qué tan rápida sea la CPU o cuánta memoria haya, está fuera de nuestro alcance)
Por lo tanto, estas operaciones en la base de datos suelen ser un cuello de botella en el rendimiento de todo el sistema.
Entonces, conociendo esta dirección general, ¿cómo saber qué SQL o procedimientos almacenados son lentos? Esto requiere combinar el generador de perfiles de la base de datos.
Para SQL Server, puede leer este artículo.
http://www.microsoft.com/china/msdn/library/data/sqlserver/Profiler.mspx?mfr=true
Para Oracle, puedes leer este artículo.
http://www.javaeye.com/post/117389
2. ViewState, este Dongdong es de tamaño relativamente grande y tendrá un cierto impacto en las aplicaciones de Internet. Respecto a su optimización, el jardín ya ha hablado de ello, así que puedes buscarlo tú mismo.
3. Mi opinión sobre el uso del caché no coincide mucho con la de varios amigos del Grupo MSN. Un amigo del grupo MSN cree que el caché puede ser un conjunto de variables estáticas o algunas variables controladas por un controlador de caché. Personalmente, creo que dicho caché puede tener un buen rendimiento en un entorno de un solo servidor. En un entorno de múltiples servidores, dicho caché se convertirá en un cuello de botella en el rendimiento, porque la aplicación o el controlador de caché deben garantizar cuidadosamente el contenido del caché de múltiples procesos. . coherente. Este proceso reduce en gran medida la escalabilidad del programa. Considere una granja web con 100 servidores. Una modificación de la caché en un proceso requiere notificación y confirmación de que los 99 servidores restantes se han cambiado correctamente. Esto es algo terrible.
Para esto, Memcache es una solución relativamente buena. El famoso producto wiki mediawiki lo utiliza como servidor de caché. Memcache también tiene una API de cliente .net.
4. No lo entiendo muy bien, por favor dé algunos consejos de expertos
. 5. Hay muchas introducciones en Internet, especialmente sobre Java. Hay muchas introducciones sobre Apache y Tomcat. Búscalo en Google tú mismo.
6. Esta optimización es la más complicada y el efecto puede ser el menos obvio. Si debes hacerlo, deja que los ocho inmortales crucen el mar y muestren sus poderes mágicos.
http://www.cnblogs.com/ncindy/archive/2006/11/07/553533.html