2 votes

Est-il possible qu'un événement envoyé par le serveur surcharge le navigateur de quelque manière que ce soit ?

Je travaille sur un projet qui utilise SSE Une approche pour pousser les données du serveur vers le navigateur toutes les 0,5 secondes.

Il récupère les données de Mysql, les transforme en JSON et les envoie au navigateur.

Je me demandais dans un scénario extrême, où le navigateur fonctionnerait pendant quelques mois (c'est possible). Le serveur envoie au navigateur 2.764.800 JSON par jour. Cela représente 82.944.000 push par mois.

Y a-t-il donc lieu de s'inquiéter dans ce scénario ? Je veux dire, y a-t-il un moyen pour que le navigateur ou le système client soit surchargé par une telle quantité de données ?

Existe-t-il un scénario qui pourrait justifier un rafraîchissement de la page toutes les X secondes ?

1voto

Darren Cook Points 5743

Sans détails plus précis, la réponse est "peut-être, mais probablement pas [un besoin de rafraîchir la page]".

Pour autant que je sache, il n'y a pas de limite particulière du côté de l'ESS. Ainsi, dans l'exemple tout à fait typique de la réception d'un élément de données du serveur, de la mise à jour de la valeur dans un div et du non-stockage des données reçues, il ne devrait pas y avoir de croissance de la mémoire. Une fréquence de deux fois par seconde est également acceptable.

Si vous stockez des données (par exemple, pour représenter graphiquement les N dernières valeurs), vous devez vous assurer que les valeurs plus anciennes que les N dernières sont jetées régulièrement.

Mes préoccupations seraient partout ailleurs :

  • Bogues du navigateur
  • Gestion de la mémoire en Javascript. (Par exemple, des dépendances circulaires non intentionnelles, que le ramasseur d'ordures ne peut pas gérer). ( Ce site regarde une bonne discussion sur ce thème ; une autre aquí .)
  • Internet non fiable - un serveur ou un routeur en cours de route décide de fermer un socket ouvert depuis longtemps. (SSE devrait Je préfère ajouter un message de maintien de la connexion en plus, car il arrive que les sockets soient fermés de manière non propre).

Vous pouvez également vous demander combien de temps les gens garderont leur navigateur ouvert, et si vous devez vous en préoccuper.

Dans les applications de trading, je trouve que la clôture du marché (que ce soit quotidiennement ou le vendredi soir) est un bon moment pour fermer délibérément la prise.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X