Accès régulier à une BDD : comment faire ?


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 832
Inscription: 6 Avr 2005

Accès régulier à une BDD : comment faire ?

Message le Dim Jan 13, 2008 12:57

Bonjour,

Je dois développer un script en PHP qui va chercher toute les 10 sec si le membre à un nouveau message.

Que vaut-il mieux :

1/ faire un accès toutes les 10s à MySQL
2/ lire un fichier du serveur tte les 10s (avec simplexml_load_file de PHP5 par ex)

pour éviter de prendre trop de ressources du serveur ? A moins que vous ayiez mieux à me proposer, ce serait bienvenu aussi !

MERCI !


arnaudmn
WRInaute passionné
WRInaute passionné
 
Messages: 1542
Inscription: 11 Mai 2005

Message le Dim Jan 13, 2008 13:04

Quel est l'intérêt de faire ça ? Tu vérifis tes mails toutes les 10 secondes ? Tu raffraichis ton navigateur toutes les 10 secondes pour voir si quelque chose à bouger ? Le principe de WRI (un popup qui averti quand on a un message) au moment ou on charge une page me parait plus interessant.
Mais bon : ne sachant pas la finalité de la chose, ça parait compliqué de répondre sur la meilleure façon d'écrouler ton serveur :-)


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3250
Inscription: 25 Aoû 2004

Message le Dim Jan 13, 2008 13:24

2/ lire un fichier du serveur tte les 10s (avec simplexml_load_file de PHP5 par ex)

au final, ça aussi ça revient à faire un accès à la base de données, non ?
Sinon tu peux essayer les pools de connexion... :roll:


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 832
Inscription: 6 Avr 2005

Message le Dim Jan 13, 2008 13:25

Je ne rafraichi pas la page telle quelle, mais une zone avec AJAX... l'intérêt est que la personne recoive un mail URGENt même pendant qu'elle lit un texte super long ou regarde une vidéo par exemple...


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 832
Inscription: 6 Avr 2005

Message le Dim Jan 13, 2008 13:26

TOMHTML a écrit:
2/ lire un fichier du serveur tte les 10s (avec simplexml_load_file de PHP5 par ex)

au final, ça aussi ça revient à faire un accès à la base de données, non ?
Sinon tu peux essayer les pools de connexion... :roll:


Oui, mais la BDD n'est pas la même : soit en SQL soit dans un fichier XML : je veux justement savoir le plus rapide et mùoins consommateur (sachant que j'ai PHP5 et MySQL 4)

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2682
Inscription: 13 Fév 2004

Re: Accès régulier à une BDD : comment faire ?

Message le Dim Jan 13, 2008 16:20

Dharius a écrit:1/ faire un accès toutes les 10s à MySQL
2/ lire un fichier du serveur tte les 10s (avec simplexml_load_file de PHP5 par ex)


Le premier est probablement à éviter si tu as un peu de monde sur ton serveur. Le deuxième est un peu mieux, mais parser du XML c'est quand même un peu lourd pour pas grand chose.

Je te propose deux options supplémentaires:
- vérifier qu'un fichier existe (quand il y a un nouveau mail, tu crées un truc genre /var/tmp/new_mail_for_<userid>, et dans ton script tu vérifies la présence de ce fichier, et s'il est là, tu notifies l'utilisateur et tu vires le fichier). Tu peux même mettre ça dan sun filesystem en RAM si tu veux. Je ne sais pas quelle est la fonction php idéale pour ça (moi pas programmer en php), mais quelque chose qui fait l'équivalent d'un "stat" Unix est largement suffisant. Dans le pire des cas un "open" devrait être bon (suivi d'un close si le open ne renvoie pas d'erreur).
- utiliser memcached
- utiliser un autre système d'IPC (un zone de shm par exemple).

Jacques.

holmat
WRInaute discret
WRInaute discret
 
Messages: 175
Inscription: 28 Nov 2007

Message le Dim Jan 13, 2008 20:16

Un peu comme gmail en fait
je serais curieux de voir le code :-)


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 832
Inscription: 6 Avr 2005

Message le Dim Jan 13, 2008 20:32

holmat a écrit:Un peu comme gmail en fait
je serais curieux de voir le code :-)


Lol en même temps, j'ai pas le même machine que celles qu'ils peuvent avoir :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités