2011-02-17 4 views
3

J'utilise PHP pour extraire des données financières de Yahoo. Ensuite, j'envoie les données au format JSON à un de mes blogs Typepad et je le reçois avec JavaScript.Traitement des données côté serveur et côté client

Est-il plus rapide de traiter les données côté serveur, puis d'envoyer le sous-ensemble JSON à JavaScript? Ou serait-il préférable d'envoyer le tout, puis le traiter avec JavaScript sur le côté client?

Comment puis-je apprendre à faire ce type d'analyse de compromis par moi-même?

Répondre

5

Très bonne estimation. Envoyer de grandes quantités de données au client pour le traitement entraînera des frais supplémentaires pour le client et rendra son expérience de navigation moins acceptable. Le traitement du serveur de données augmentera la charge de votre serveur par client.

Cette situation est fréquente avec de grandes tables de données triables ou paginées. Vous pouvez soit le faire entièrement dans le navigateur ou activer le tri côté serveur et la païen. Ma règle de base est que si j'ai plus de 10k cellules (10 colonnes x 1000 lignes) alors je devrais probablement activer le traitement côté serveur au lieu de le laisser au client. Cela est particulièrement vrai sur les machines plus anciennes avec shitty moteurs JavaScript lents.

+0

Je n'ai pas où près de cette quantité de données, et ma principale préoccupation est que la page se charge aussi vite que possible. Je penche vers le traitement côté serveur, basé sur la réponse deux. Merci pour votre réponse :) –

0

Eh bien, cela dépend. Si vous traitez le serveur de données, vous devrez attendre le retour de Yahoo! puis affichez la page JSON et HTML résultante.

Si vous traitez les données du côté client (c'est-à-dire que vous faites des requêtes avec javascript) vous aurez une page chargée et vous pourrez donner à l'utilisateur une sorte de notification, que les données sont en train de charger. A propos de ce qui sera plus rapide - mieux exécuter quelques tests. C'est la meilleure façon de voir :)

1

Je trouve qu'il est prudent de supposer que mes clients auraient l'ordinateur shittiest, et en les faisant faire le traitement n'est pas vraiment ce que je veux. Donc, je fais principalement du traitement côté serveur - à moins que ce ne soit vraiment des choses de base comme un simple tri, etc.

De plus, ne supposez pas que JavaScript est activé. Vous devez vous replier gracieusement et cela nécessiterait que le serveur effectue le traitement de toute façon.

+0

Vraiment bon point de supposer l'ordinateur de merde et le manque de JavaScript. Merci/ –

Questions connexes