1. ¿Qué es ASP Cache/Por qué caché
De hecho, cuando su sitio web se establece en la etapa inicial de la tecnología ASP, lo que puede sentir es la conveniencia traída por la tecnología web dinámica ASP, así como la modificación gratuita y el control HTTP gratuito. Pero con el aumento del volumen de acceso, definitivamente descubrirá que la velocidad de acceso de su sitio se volverá más lenta y más lenta, y IIS se ha vuelto a comenzar. Por lo tanto, debe optimizar su programa ASP, como cambiar las bases de datos con un mejor rendimiento, establecer índices, escribir procedimientos de almacenamiento, etc. Algunas de estas medidas no necesitan aumentar la presión de los costos, mientras que algunas de las presión de costos (como el acceso al clúster a SQL), y el efecto no es necesariamente.
Enfrentando la presión del acceso web, creo que el método más económico es utilizar la tecnología de optimización de caché para aliviar la presión del servicio de la web.
El aumento del volumen de acceso web generalmente significa el rápido crecimiento de la siguiente demanda de recursos:
1. Aumento del tráfico de tarjetas de red, es necesario consumir más hilos de tráfico de red de procesamiento de CPU y E/S de red.
2. Es necesario abrir/cerrar la conexión de la base de datos con más frecuencia (si se utiliza la tecnología de la base de datos, generalmente ASP utilizará la base de datos como almacenamiento de datos), la cantidad de cosas que consumen seriamente los recursos y el punto muerto causado por los recursos competitivos de Transacciones, que aumentarán la E/S de la red.
3. Si se usa la sesión, IIS consumirá más memoria para mantener el estado, y el consumo de memoria puede causar memoria física insuficiente, causar un intercambio frecuente entre la memoria física y la memoria auxiliar, lo que hace que la ejecución del código se detenga.
4. Debido a la respuesta oportuna del acceso, se causará la falla de acceso de la página web, lo que hará que los usuarios se actualicen, exacerbando así las necesidades de las CPU, la memoria y otros recursos.
De hecho, teniendo en cuenta la aplicación web habitual, muchas veces la ejecución del código dinámico es innecesaria.
2. Clasificación de ASP Cache
Resumiendo sin autorización, el caché de ASP se puede dividir en dos categorías:
1. Cache de archivo
La memoria caché de archivo que se les ocurre de acuerdo con el juicio lógico. Puede acceder al archivo estático desde la redirección web a la tecnología, para satisfacer las necesidades de reducir las CPU, los recursos de la base de datos. Hay muchas de esas aplicaciones. El lado estático estático tiene un efecto secundario (beneficios): los motores de búsqueda pueden incluir fácilmente como Google. Algunos sistemas de comunicado de prensa que se encuentran en cuales han adoptado esta tecnología.
2. Cache de ruptura de película de archivo
El caché de archivos que llaman SO también se basa en un juicio lógico. Datos en forma de archivos. Por ejemplo, generalmente almacenamos algunos datos en formato XML, y luego usamos la tecnología XSLT para implementar la pantalla (el procesamiento XML generalmente requiere una gran cantidad de recursos de CPU, por lo que IE generalmente lee XML directamente al cliente para manejarlo en la CPU del cliente). Así es como se procesa el foro de CSDN.
3. Cache de memoria principal
Además, también puede considerar lidiar con el caché en la memoria y almacenar el contenido que debe responder de manera oportuna en la memoria. Si una gran cantidad de necesidades de acceso se concentran en varias páginas pequeñas o almacenamiento principal, quiero usar el caché de memoria principal para mejorar en gran medida el rendimiento de acceso web.
3. Cómo lograr/usar caché
Se deben considerar los siguientes problemas para implementar el caché:
1. ¿Qué páginas no cambiarán en poco tiempo?
Analice su propio sitio, hay muchas páginas. Por ejemplo, un sitio generalmente tiene columnas de noticias e información. Luego, estas páginas son adecuadas para caché con archivos estáticos. De hecho, se realiza el sistema de comunicado de prensa de SO, por lo que también puede consultar las ideas de estos sistemas para transformar su página ASP dinámica original.
2. Esas páginas se generan para todas las visitas para generar la misma lógica (es decir, no distinguir entre los visitantes).
A excepción de las columnas como noticias e información, todos los visitantes miran una interfaz, y la aplicación de recursos como foros y otros recursos de consumo generalmente se puede diseñar como una generación lógica unificada (la misma publicación, Zhang Sanli y Sisi son los mismos los mismos ). Se puede implementar con un caché estático. También puede considerar romper los datos y usar la tecnología de script además de la capacidad de procesamiento del servidor, es decir, el navegador del cliente para el procesamiento.
3. Use el costo y la cosecha de caché.
Principalmente el tiempo para los cambios de espacio (respuesta). Use la tecnología de caché para preprocesar el contenido frecuentemente necesario para mejorar la capacidad de respuesta del servidor web y, lo que es más importante, ganar el favor de los visitantes.
El precio es que la demanda de espacio web aumenta y puede afectar el efecto de acceso.
Pero creo que el caché adecuado es mayor que las desventajas.
4. En lugar de usar caché en esos lugares
La página de consulta dinámica, el contenido de consulta de cada persona es diferente, por lo que los resultados de la pantalla no son los mismos, por lo que es poco probable que genere el caché de resultados de la consulta, por lo que el caché es más complicado y en la parte inferior de la tasa de utilización de caché, lo que resulta en lo que resulta en el caché El costo de gestión.
Cuarto, análisis de instancias
Supongamos que el diseño original de un foro de sugerencias es el siguiente:
En el directorio raíz:
Página de inicio predeterminada.asp, generalmente esencia, recomendación y similares
Listborad.asp Este archivo enumera los nombres y la introducción de todas las columnas.
ListThread.asp El archivo no lleva ningún parámetro para indicar todas las pegatinas y llevar a Mainbid para representar todas las pegatinas de una determinada pieza. Si se transporta subbid para indicar la publicación de la columna específica. Si lleva el parámetro de página para indicar la paginación del tema.
ViewThread.asp enumera un cierto contenido de etiqueta. Suponemos que las publicaciones se muestran como un discurso, y todas las pegatinas siguen a la lista. El parámetro ID es la publicación que se mostrará.
Responder.asp responde a una determinada publicación, lleva la identificación del parámetro para responder a una determinada publicación
No hay otra discusión.
Arriba, podemos ver que si todos se realizan utilizando el ASP/PHP original, la ejecución de casi todos los archivos ASP requieren operaciones de base de datos, consulta frecuente y múltiples consultas. Debe saber que la base de datos de consultas eventualmente generará una disminución en el rendimiento, la velocidad de respuesta disminuye y el lento impacto de la navegación en los visitantes no conducirá a la calidad de la web. Más importante aún, para las dos personas en A y B, visitaron ViewThread.asp y similares si las ID son consistentes, entonces muchas veces verán el mismo contenido (el código HTML recibido por su navegador es casi el mismo), pero para Esto para esto en el mismo contenido, el servidor debe abrir la conexión de la base de datos, consultar, leer registros y mostrar que los registros y las conexiones de la base de datos están cerradas. Esencia Esencia Esencia Si más personas acceden a más personas, el resultado final es que estas personas exacerban los recursos del servidor. De hecho, la mano de obra duplicada para el mismo contenido se puede optimizar con la tecnología de caché. Por ejemplo:
Después de enviar el contenido de Repy.asp, llamamos inmediatamente la función estática para generar el contenido estático a los archivos HTML estáticos, como ViewThread_xxxx.htm, y luego al visitar ViewThread.asp. El archivo estático correspondiente ViewThreadxxxx.htm. De esta manera, cuando una publicación no es más reciente, siempre se le proporciona al contenido estático del espectador;
Listborad.asp también puede implementar Static. Podemos analizar los parámetros que se pueden transportar, establecer el nombre del archivo de caché en listboard_xx.htm y actualizar el listboard_xxx.htm al agregar una nueva columna. ListThread.asp es similar, pero debido a más parámetros, habrá muchos archivos de caché. Si desea almacenar en caché ListThread.asp? Lo mismo es cierto para default.asp.
Entonces, ¿cómo juzgar cuándo actualizar? ¿A qué hora actualizar?
讨论 ListThread.asp? Archivo estático. Tenga en cuenta que ninguna existencia aquí significa que la aparición de contenido nuevo requiere que actualicemos.
¿Cómo pueden no existir los archivos? borrar. Podemos eliminar todos los archivos estáticos como listthread_xxx_p2.htm al publicar una pegatina nueva, eliminar pegatinas y mover pegantes. De esta manera, se notifica al caché.
Todavía queda un problema ahora, ¿cómo generar archivos estáticos?
Notamos que el mismo contenido que mencionamos antes.我们可以将改造前的 default.asp 、 listthread.asp 等拷贝一个副本 , 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 取名为 、 、 listthread_2.asp , 且在同一个目录中(理论上 listthtrad.asp? Subid = 123 同 listthread_d.asp? Los resultados de acceso de Subid = 123 serán el mismo contenido), de modo que en la lógica de la necesidad de generar archivos estáticos, llamamos a la copia antes de la modificación de la solicitud de acceso web, obtenemos el código HTML y la almacenamos como un archivo estático. Esta solicitud web es realmente equivalente a antes de que cualquier visor real acceda a contenido estático, el servidor en sí es inspeccionado por el HTML que se emitirá y luego devuelve este código para almacenar la función de operación del archivo como un archivo estático. De esta manera, el archivo de caché se creó antes del espectador real.
Tal esquema casi no toca el diseño original, y difícilmente causará errores como 404 debido a la transformación. En segundo lugar, los archivos estáticos también ayudarán a que su sitio sea fácilmente incluido por motores de búsqueda como Google. ¿Por qué no?
Finalmente, recuerde que a través del acceso web, en el entorno de programación ASP, muchas personas usan componentes XMLHTTP para acceder, lo que causará muchos problemas. El recurso que XMLHTTP en sí mismo almacenará en caché las solicitudes, lo que resulta en el contenido obtenido por nuestras solicitudes a través de este componente, causando confusión lógica. Por lo tanto, debe elegir objetos HTTP del servidor XML o componentes WinHTTP para implementar recursos de solicitud web.
80 Lenguaje post -seleccionado: hay varias cosas clave para lograr la tecnología de caché,
La aplicación del lado del servidor, que es adecuada para múltiples páginas, hay más elementos que no se actualizan a menudo;
Se genera el archivo estático HTML, y la tecnología de plantilla generalmente se usa para generar archivos estáticos a través de FSO o Adostream.
otro
De hecho, lo más importante es decidir qué tecnología adoptar de acuerdo con las necesidades de su propio sistema para minimizar el número de base de datos como sea posible y reducir la presión de las bases de datos. .
Además, ¿está considerando si el caché del cliente puede usarse para mejorar la eficiencia?