2009-12-09 5 views
0

Dans ma page Web, j'ai besoin d'afficher les informations qui seront mises à jour fréquemment. Pour cela j'utilise des appels ajax, et en le montrant dans la page en utilisant innerHTML. Im faire la requête ajax sur chaque 3 secondes .. Et dans la page php (gestionnaire de requête ajax), Im ouverture de la connexion mysql en utilisant mysql_connect et à la fin du script Im fermeture de la connexion en utilisant mysql_close. Mais le serveur devient lent à cause des appels répétés. Y a-t-il une autre solution? Ou comment puis-je améliorer la performance de ceci?Le serveur devient lent sur les appels ajax

Répondre

1
  • Faites l'interrogation toutes les 6 secondes?
  • Assurez-vous de ne renvoyer que les données -changed- et d'appliquer un diff au lieu de renvoyer l'ensemble
  • Cachez le mieux possible, plutôt que de frapper la BD à chaque fois, si possible. Par exemple, si les données sont fréquemment mises à jour mais qu'elles sont identiques pour tout le monde, vous pouvez les interroger toutes les 5 secondes et les mettre en mémoire (écrire les données sur le disque, ou tout ce qui fonctionne dans votre configuration)
+0

Ya, j'ai pensé à la mise en cache .. Mais le code est comme un code de suivi, tous les enregistrements changent fréquemment. Un autre moyen? – binoy

1

Vous devriez envisager Micro Optimization

Aussi, vous pouvez garder votre connexion persistante avec mysql_pconnect
Pas dur et besoin rapide de fermer votre connexion à chaque fois; il est fermé à la fin du script.

Votre serveur ralentit principalement à cause des appels toutes les 3 secondes. Essayez de trouver une alternative à cela si vous le pouvez.

+0

En plus de cette réponse, essayez de récupérer vos données à partir d'ajax en tant que JSON, dans le cas où l'ammount de html est trop grand, traitant de la sortie du côté client. – yoda

+0

Est-il bon de donner mysql_pconnect s'il y a plus d'utilisateurs? Aussi, si la quantité de données qu'il renvoie rend le serveur lent? – binoy

Questions connexes