Recomendado: El código para el sitio de películas Max para generar RSS Feed Hace algún tiempo, para agregar la función de suscripción RSS al sitio de mi película, escribí un código ASP que genera dinámicamente RSS Feed. No puedo subir archivos adjuntos, así que acabo de pegar el código. No hace mucho de todos modos. Los amigos que usan Max como sitio de película pueden usarlo directamente. Cambiar otros tipos de sitios.
Los desarrolladores de ASP trabajan constantemente para obtener un mejor rendimiento y escalabilidad en sus proyectos de diseño. Afortunadamente, hay muchos libros y sitios que brindan excelentes consejos sobre esto. Sin embargo, la base de estas sugerencias es la conclusión extraída de la estructura del trabajo de la plataforma ASP, y no hay medición de la mejora real en el rendimiento. Dado que estas sugerencias requieren procesos de codificación más complejos y reducen la legibilidad de la codificación, los desarrolladores solo pueden medirse si vale la pena pagar para mejorar el rendimiento de sus aplicaciones ASP sin ver el efecto operativo real.
Este artículo se divide en dos partes, y presentaré algunos resultados de las pruebas de rendimiento para ayudar a los desarrolladores a determinar si una iniciativa particular no solo vale la pena para futuros proyectos, sino que también puedo actualizar el proyecto original. En la primera parte, revisaré algunos problemas básicos en el desarrollo de ASP. En la segunda parte, se involucrará cierta optimización de las funciones ADO y sus resultados se compararán con la página ASP que llama al objeto VB COM para ejecutar la misma función ADO. Estos resultados son reveladores y, a veces, sorprendentes.
En este artículo, responderemos las siguientes preguntas:
* ¿Cuál es la forma más eficiente de escribir contenido generado por ASP en el flujo de respuesta?
* ¿Debería activarse el búfer?
* ¿Debo considerar agregar comentarios al código ASP?
* ¿Debería configurarse explícitamente el idioma predeterminado para la página?
* ¿Debería apagarse el estado de la sesión si no es necesario?
* ¿Debería colocarse la lógica de la escritura en subrutinas y áreas de funciones?
* ¿Cuáles son los efectos de usar los archivos?
* ¿Qué tipo de carga se aplicará al realizar el procesamiento de errores?
* ¿Establecer un procesamiento de contexto tiene algún impacto en el rendimiento?
Todas las pruebas se realizaron utilizando la herramienta de enfoque de aplicaciones web (WAST) de Microsoft, una herramienta gratuita que se puede encontrar aquí. Creé un script de prueba simple con WAST, llamando repetidamente a la prueba de la página ASP que se describe a continuación (más de 70,000 veces cada una). El tiempo de la reacción se basa en el tiempo total promedio de los últimos bytes (TTLB), es decir, desde el momento en que el tiempo inicial solicitado hasta el momento en que la herramienta recibe el último bit de datos del servidor. Nuestro servidor de prueba es un Pentium 166 con 196 MB de memoria y Pentium 450 con 256 MB de memoria. Puede pensar que el rendimiento de estas máquinas no está muy avanzado, pero no olvide que no estamos probando la capacidad del servidor, solo estamos probando el tiempo que le toma al servidor procesar una página a la vez. Estas máquinas no hacen otro trabajo durante la prueba. Los scripts de prueba de WAST, los informes de prueba y todas las páginas de prueba ASP se incluyen en el archivo zip, y puede revisarlo y probarlo usted mismo.
¿Cuál es la forma más eficiente de escribir contenido generado por ASP en el flujo de respuesta?
Una de las principales razones para usar ASP es generar contenido dinámico en el servidor. Por lo tanto, es obvio que el punto de partida de nuestra prueba es determinar la forma más adecuada de enviar contenido dinámico al flujo de respuesta. Entre las muchas opciones, dos son las más básicas: una es usar etiquetas ASP en línea, y la otra es usar la declaración de respuesta.
Para probar estas opciones, creamos una página ASP simple donde se definen algunas variables y sus valores se insertan en la tabla. Si bien esta página es simple y no muy práctica, nos permite separar y probar algunas preguntas separadas.
Usando etiquetas en línea ASP
La primera prueba implica usar una etiqueta ASP en línea < %= x %>, donde x es una variable asignada. Este método es, con mucho, el más fácil de ejecutar, y mantiene la parte HTML de la página en un formato que es fácil de leer y mantener.
| <% Opción explícita Dim Nombre del primer Dim LastName Dim Middleinitial Dirección atenuada Ciudad atenuada Estado de mal tiempo Dim PhoneneneNumber Dim faxnumber Correo electrónico atenuante Fecha de nacimiento atenuada FirstName = John MiddleInitial = Q LastName = Public Dirección = 100 Main Street Ciudad = Nueva York Estado = NY PhoneNumber = 1-212-555-1234 Faxnumber = 1-212-555-1234 Correo electrónico = [email protected] Fecha de nacimiento = 1/1/1950 %> <html> <Evista> <title> prueba de respuesta </title> </ablo> <Body> <h1> prueba de respuesta </h1> <Table> <tr> <td> <b> Nombre: </b> </td> <td> < %= FirstName %> </td> </tr> <tr> <td> <b> Inicial media: </b> </td> <td> < %= MiddleInitial %> </td> </tr> <tr> <td> <b> apellido: </b> </td> <td> < %= LastName %> </td> </tr> <tr> <td> <b> Dirección: </b> </td> <td> < %= dirección %> </td> </tr> <tr> <td> <b> ciudad: </b> </td> <td> < %= ciudad %> </td> </tr> <tr> <td> <b> estado: </b> </td> <td> < %= estado %> </td> </tr> <tr> <td> <b> Número de teléfono: </b> </td> <td> < %= PhoneNumber %> </td> </tr> <tr> <td> <b> número de fax: </b> </td> <td> < %= faxnumber %> </td> </tr> <tr> <td> <b> correo electrónico: </b> </td> <td> < %= correo electrónico %> </td> </tr> <tr> <td> <b> Fecha de nacimiento: </b> </td> <td> < %= birthdate %> </td> </tr> </table> </body> </Html> |
Código completo para /app1/Response1.asp
Mejor anterior (tasa de respuesta) = 8.28 msc/página
Use la declaración Respuesta. Escribe en cada línea de HTML
Muchos documentos de aprendizaje mejores recomiendan evitar el método anterior. La razón principal es que durante la página de salida y la página de procesamiento aplicando el tiempo de reacción, si el servidor web tiene que convertir entre el envío de html puro y los scripts de procesamiento, se produce un problema llamado conversión de contexto. Cuando la mayoría de los programadores escuchan esto, su primera reacción es envolver cada línea del HTML original en la función de respuesta.
| … Response.write (<html>) Response.Write (<Head>) Response.write (<title> Response Test </title>) Response.write (</head>) Response.write (<body>) Response.write (<h1> prueba de respuesta </h1>) Response.write (<table>) Response.write (<tr> <td> <b> Nombre: </b> </td> <td> & FirstName & </td> </tr>) Response.write (<tr> <td> <b> Inicial Middle: </b> </td> <td> & MiddleInitial & </td> </tr>) ... < |
/app1/Response2.asp fragmento
Mejor anterior (tasa de respuesta) = 8.28 msc/página
Tiempo de reacción = 8.08 msc/página
Diferencia = -0.20 ms (reducción del 2.4%)
Podemos ver que usar este enfoque es muy pequeño en rendimiento en comparación con el uso de etiquetado en línea, tal vez porque la página carga el servidor con un montón de llamadas de funciones pequeñas. La mayor desventaja de este enfoque es que, dado que HTML ahora está integrado en los scripts, el código de script se vuelve más detallado y más difícil de leer y mantener.
Compartir: 20 ejemplos muy útiles en programación ASP (I) 1. Cómo usar ASP para determinar la ruta física virtual de su sitio web Respuesta: Use el método Mappath: < % = server.mappath () %> 2. ¿Cómo conozco el navegador utilizado por el usuario? Respuesta: use el método de objeto de solicitud:
5 páginas en la página total anterior 12345Next