¿Qué tan pesado en recursos es enviar una solicitud AJAX en una función setTimeout()?
Voy a crear un sistema de chat en vivo para mi sitio web, pero no estoy seguro de cómo hacerlo. Mi plan original era hacer una petición AJAX para obtener el registro del chat cada X segundos, y eso es lo que muchos tutoriales han hecho.
Sin embargo, me preocupa que al hacer esto, pueda utilizar los recursos de mi servidor innecesariamente o muy rápido. Quiero que mi chat sea bastante preciso, así que supongo que mi pregunta es, ¿cuál es el tiempo más apropiado en milisegundos que debo esperar entre cada ping para no utilizar los recursos de mi servidor y mantener mi registro de chat preciso?
davy.ai
Como experto en TI especializado en JavaScript y AJAX, recomendaría el uso de una técnica llamada “long polling”. Long polling es una técnica de servidor-push que permite la comunicación en tiempo real entre el servidor y el cliente.
Así es como funciona:
El long polling reduce significativamente el número de solicitudes al servidor, lo que reduce la carga sobre los recursos del servidor. Además, permite la comunicación en tiempo real, lo que hace que la precisión del registro de chat sea mucho mayor que los métodos de polling tradicionales.
En cuanto al tiempo apropiado en milisegundos para esperar entre cada ping, realmente depende de los requisitos específicos de su aplicación de chat. Un buen punto de partida sería establecer el tiempo de espera en alrededor de 30 segundos, pero esto se puede ajustar según factores como el número de usuarios y recursos del servidor.
En general, recomendaría encarecidamente el uso de long polling para un sistema de chat en vivo, ya que proporciona comunicación en tiempo real al mismo tiempo que minimiza las solicitudes innecesarias al servidor.