Hola a todos. Soy Hina. Soy de Expedia Group. Esta charla trata sobre la velocidad de búsqueda que está haciendo que los vuelos de Expedia sean más rápidos. Nos centraremos en las iniciativas de rendimiento que se llevan a cabo en la página de Búsqueda de Vuelos en Expedia y las investigaciones realizadas hasta ahora.
Así que, en primer lugar, la motivación detrás de esto fue que en la página de Búsqueda de Vuelos hay un tráfico de búsqueda máximo que llega a FSR, que es la página de Búsqueda de Vuelos. Y luego va a la Información de Vuelos y de ahí a la página de Pago. Así que con la latencia la experiencia del usuario se estaba viendo afectada y, por lo tanto, también las reservas. También era muy importante retener a los usuarios mejorando el rendimiento.
Así que cuando se trata de rendimiento, también observamos que el monitoreo es muy crucial. Y para ello, se definieron algunas métricas personalizadas. Una de ellas es el tiempo de uso de la página, es decir, el tiempo que tarda un componente en renderizarse en la página de Búsqueda de Vuelos. El componente principal en la página de Búsqueda de Vuelos es la lista de ofertas que aparece. Así que tan pronto como la página se renderiza y la lista de ofertas se renderiza, se marca el tiempo de uso de la página. La segunda métrica es la sobrecarga no suministrada, que también es una métrica PERF personalizada. Esto significa que el tiempo total que la página de Búsqueda de Vuelos va a tomar menos el tiempo de sobrecarga de suministro. También hay algunas otras métricas comunes de Lighthouse, como First Contentful Paint, First Input Delay, Cumulative Layout Shift, y Time to Interactive que también fueron monitoreadas. Aparte de eso, asegurar que el tamaño del paquete no esté aumentando el umbral sugerido y asegurar que la aplicación sea ligera es también muy crucial cuando se trata de rendimiento.
Ahora, hablaré sobre la precarga. Esta es una de las iniciativas PERF que se llevó a cabo en la página de Búsqueda de Vuelos. Así que la precarga se refiere a obtener los paquetes de JS de antemano para que tan pronto como el usuario llegue a la página de Búsqueda de Vuelos, el tiempo que se consume en obtener las rutas CDN se pueda ahorrar al almacenar en caché esos paquetes de JS de antemano. Así que lo que hicimos aquí es que obtuvimos los paquetes en la página anterior, que es la página de inicio, y la obtención de recursos ocurrió durante el tiempo inactivo del navegador. Esto significa que no había restricción en la página de inicio cuando se trata de rendimiento, y los recursos se obtienen utilizando la caché de precarga. Esto es impactante para los nuevos usuarios, para los usuarios existentes si en caso de que los usuarios estén navegando en la página de Búsqueda de Vuelos, los paquetes ya están en caché utilizando la caché del navegador. El experimento de precarga es algo que es bueno tener en las páginas web, y la iniciativa PERF, esta iniciativa PERF nos ayudó a ganar alrededor de 100ms. No fue una mejora muy significativa, pero fue bueno tenerla y hizo que la recuperación de la ruta CDN fuera muy rápida en comparación con la experiencia del usuario anterior.
Luego, el siguiente experimento que tenemos es la búsqueda preventiva. Así que por búsqueda preventiva, queremos decir que podemos predecir la respuesta de Búsqueda de Vuelos incluso antes de que el usuario llegue a la página de búsqueda. Es decir, en la página anterior, que es la página de inicio en sí, pudimos averiguar la respuesta utilizando las entradas que dieron los usuarios, como siempre que el usuario proporciona origen, destino, fecha de salida, fecha de llegada, pudimos averiguar la respuesta, y en el lado del servidor, almacenamos en caché la respuesta para una recuperación más rápida. Tan pronto como el usuario llega a la página de Búsqueda de Vuelos, los datos vienen entonces de la caché en lugar de recuperarlos en tiempo de ejecución.
Comments