Dans ma page Web, j'ai besoin d'afficher des informations qui seront fréquemment mises à jour. Pour cela, j'utilise des appels ajax, et je les affiche dans la page en utilisant innerHTML. Je fais la demande ajax sur chaque 3 secondes Et dans la page php (gestionnaire de requête ajax), j'ouvre la connexion mysql en utilisant mysql_connect et à la fin du script je ferme la connexion en utilisant mysql_close. Mais le serveur devient lent à cause des appels répétés. Existe-t-il une autre solution ? Ou comment puis-je améliorer les performances de cette méthode ?
Réponses
Trop de publicités?
Sarfraz
Points
168484
Vous devriez envisager Optimisation micro
Vous pouvez également vouloir garder votre connexion persistante en utilisant mysql_pconnect
Il n'est pas nécessaire de fermer votre connexion à chaque fois ; elle est fermée à la fin du script.
Votre serveur devient principalement lent à cause des appels toutes les 3 secondes. Essayez de trouver une alternative à cela si vous le pouvez.
- Faire la requête toutes les 6 secondes ?
- Assurez-vous que vous ne renvoyez que les données modifiées et appliquez une différence au lieu de renvoyer l'ensemble des données.
- Mettez en cache le mieux possible, plutôt que d'utiliser la base de données à chaque fois, si possible. Par exemple, si les données sont mises à jour fréquemment, mais qu'elles sont les mêmes pour tout le monde, vous pouvez faire en sorte qu'elles ne soient interrogées que toutes les 5 secondes, et que la mise à jour lise les valeurs mises en cache (écrire les données sur le disque, ou ce qui fonctionne dans votre configuration).