Capacitación en diseño de pájaros Beida Jade: ¿Cómo optimizar el sitio web?
La difusión de esta información debe realizarse a través de páginas web móviles, así que echemos un vistazo a los métodos de optimización de las páginas web móviles.
La optimización del servidor WEB se basa principalmente en el servicio de interfaz HTTP proporcionado por el servicio back-end y utiliza nodejs para lograr la separación del front-end. La optimización del servidor aquí se refiere principalmente a la optimización del servidor WEB implementado en nodejs.
El propósito de la optimización es mejorar la respuesta y la concurrencia del servidor y aprovechar al máximo las funciones asincrónicas y sin bloqueo de nodejs, principalmente desde los siguientes aspectos.
Optimización de las llamadas de servicio de interfaz Para una ruta que se muestra en una página, para procesar esta ruta, es posible que necesite llamar a varias interfaces y procesar la lógica de la interfaz.
Fusión de interfaces Fusionamos las interfaces que se pueden fusionar al llamar a la página para reducir el número de llamadas a la interfaz. Por ejemplo, tomando la página de detalles del producto como ejemplo, algunas características del producto se pueden devolver en una interfaz para minimizar la cantidad de llamadas a la interfaz, porque cada procesamiento de interfaz implica procesos de E/S de red, serialización de objetos, compresión y descompresión.
Las interfaces se llaman de forma asincrónica, pero no todas las interfaces se pueden fusionar. Para las interfaces que no se pueden fusionar, intentamos utilizar la función asincrónica sin bloqueo del nodo para realizar llamadas asincrónicas y llamar a varias interfaces al mismo tiempo. El tiempo de llamada depende de la interfaz más lenta.
Una cosa debe quedar clara aquí: con respecto a las dependencias de la interfaz, por ejemplo, la interfaz A depende del resultado de retorno de la interfaz B. En este caso, será mejor que ordenemos el diseño de la interfaz y reduzcamos dichas llamadas en serie. , porque aquí, el tiempo de llamada es la suma del tiempo empleado por múltiples interfaces.
Reducir la cantidad de datos devueltos por los datos de interacción de la interfaz dará como resultado la serialización JSON, el procesamiento de objetos por lotes de datos y pérdidas de rendimiento adicionales.
Puede simplificar la estructura de datos devuelta por la interfaz, devolver los campos necesarios (la página mostrará los datos utilizados) y ajustar la cantidad de elementos devueltos.
Para reducir el tamaño del cuerpo de datos del mensaje devuelto.
Además, se requiere compresión gzip al solicitar la interfaz, lo que puede reducir en gran medida el tiempo de transmisión de la red. Aunque la descompresión consumirá algo de tiempo de CPU, la pérdida de E/S de la red aún vale la pena.
Optimización del procesamiento comercial Ahora nuestro procesamiento comercial principal del lado del servidor es principalmente el procesamiento de la lógica de la página, como el control de enrutamiento, el procesamiento de sesiones, el procesamiento de objetos de visualización, la representación de plantillas, etc.
Hemos realizado algunas optimizaciones en estos procesos.
Optimización de la representación de plantillas En el uso real, descubrimos que la representación de plantillas consume mucho rendimiento. Si el proceso de preprocesamiento de plantillas especiales se procesa durante el acceso del usuario, será más de un orden de magnitud más lento, por lo que avanzamos en el proceso de preprocesamiento (hbs convertidos) y lo precompilamos al iniciar la aplicación web.
Al mismo tiempo, descubrimos que algunas propiedades de configuración predeterminadas del identificador, como el procesamiento de restauración, perderán algo de rendimiento durante el proceso de empalme de cadenas, por lo que podemos desactivar la restauración de fragmentos html.