2011-10-09 5 views
1

Je crée actuellement un site de petite todo, et moi avons plusieurs questions liées à la performance ... ajax et donc voici mes questions:Ajax et Performance/Vitesse

  1. Afin de réduire le nombre de demande, je veux obtenir toutes les données d'une demande, donc je vais passer par exemple ces attributs:

    1.1. pour obtenir 1 tâche:

    entité

    = tâche & id = 2 type = & unique & supplémentaires = %% contextes sous-tâches

    1.2. pour obtenir la liste des tâches et des événements dans une liste:

    entité = tâche %% événement & user_id = 2% type = multiple% order = Date limite & = 10

    Pensez-vous que cela réduira nombre de demandes et améliore la façon dont la performance?

  2. Si toutes les demandes iront à un fichier, cela signifie que ce fichier .php pourrait être assez gros, est-ce mauvais? Ou pas vraiment d'importance?

  3. Pour la liste. Je serai en mesure de changer l'ordre de la liste et peut-être le filtrer en quelque sorte. Pensez-vous qu'il sera préférable de charger toutes les tâches et événements à

Répondre

1

Pour garder les choses rapidement, il y a deux préoccupations:

  1. Réduire les requêtes HTTP - si vous avez besoin de deux bits de données distincts, envoyez-les dans un fichier.
  2. Gardez le contenu livré dans chaque requête AJAX small-gzip et la mise en cache fonctionne ici à merveille.

Donc, oui, regrouper les choses ensemble. Le grand fichier PHP ne fait aucune différence, les requêtes DB sont le seul véritable goulot d'étranglement dans une page Web à trafic normal. Pour le filtrage et le tri, une bonne approche consiste à utiliser JSON pour la réponse AJAX, puis à trier/filtrer sur la base du côté client si vous parlez d'un petit nombre d'éléments (probablement jusqu'à 1 000 éléments). Si vous avez des centaines de milliers d'éléments, retourner un sous-ensemble du serveur sera mieux.

+0

Merci, c'est plus clair maintenant. La seule question que je me pose est de savoir si je peux envoyer des variables comme je l'ai montré ci-dessus, avec %%, si je veux assigner plusieurs valeurs à une variable, ou est-ce qu'il y a une meilleure pratique à faire? – kaha

+0

Vous ne voyez rien de mal, mais vous ne savez pas pourquoi vous ne devriez pas avoir un autre paramètre - extra = subtasks & something = contextes plutôt que extra = sous-tâches %% contexts. Bien sûr, vous contrôlez le code du serveur et du client, donc si le %% vous facilite la tâche, alors ça va. –

+1

Merci Rich :) – kaha