1 votes

Très grande requête HTTP contre plusieurs petites requêtes

Duplicata possible :
Très grande requête HTTP contre plusieurs petites requêtes

J'ai besoin d'un tableau 2D (en Json) à envoyer du serveur au client. Il serait d'une taille d'environ 400X400 avec chaque entrée d'environ 4 caractères de texte. Il s'agit donc d'un tableau d'environ 640KB de données.

Laquelle des approches extrêmes suivantes est la meilleure ?

  1. Je fais une grande demande HTTP de toutes les données en une seule fois.
  2. Je fais 400 requêtes - chacune demandant une seule ligne (environ 1.6 KB)

Je pense que l'approche optimale se situerait entre les deux. Quelqu'un pourrait-il me donner une idée de la taille optimale d'une requête unique pour ces données ?

Merci,

7voto

Gertjan Points 752

Lors d'une requête, vous devez toujours gérer des frais généraux (comme une requête DNS, l'ouverture et la fermeture d'une connexion). Il serait donc plus judicieux d'avoir une seule grosse requête.

Il est également possible que la compression gzip/deflate soit meilleure lorsque vous avez une seule requête importante.

4voto

Elf King Points 948

Cela dépend de l'application et de l'effet que vous souhaitez obtenir. Voici deux scénarios :

  • si vous avez affaire à une interface graphique, le découpage en morceaux est peut-être une bonne idée, car un petit morceau met à jour les images, ce qui donne une illusion de "rapidité" à l'être humain. Dans le cas présent, il s'agit de découper logiquement les données en fonction des exigences de mise à jour de l'interface graphique. Vous pouvez appliquer ce même concept à la hiérarchisation de tout autre scénario en temps pseudo-réel.

  • Si, en revanche, vous vous contentez de déverser ces données, ne procédez pas à un découpage en morceaux, car 100 requêtes de 6 octets prennent beaucoup plus de temps qu'une requête de 600 octets.

Toutefois, d'une manière générale, le découpage et la distribution des paquets du réseau (TCP) sont BEAUCOUP plus optimisés que tout ce que l'on peut imaginer au niveau de la couche de transport de l'application (HTTP). Plusieurs demandes / morceaux signifient plusieurs fragments.

Il est généralement vain d'essayer d'optimiser la couche transport à l'aide du protocole de la couche application. Et, selon l'IMHO, cela va à l'encontre de l'objectif des deux :-)

Si, pour une raison quelconque, vous avez des exigences en matière de temps réel, vous devriez prendre le contrôle du transport lui-même et procéder à l'optimisation à cet endroit (mais cela ne semble pas être le cas).

Bon codage

3voto

Geoff Appleford Points 11796

Il ne faut pas hésiter à faire une seule demande et si vous activez la compression gzip sur le serveur, vous n'enverrez pas près de 640KB.

Tous les outils d'optimisation de la vitesse des pages (par exemple lenteur , vitesse des pages de google etc.) recommandent de réduire le nombre de requêtes afin d'accélérer le temps de chargement des pages.

0voto

LChaos2 Points 901

Un petit nombre de requêtes HTTP serait préférable, alors faites une seule requête.

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