demande de conseil pour forum [résolu...] [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 14-03-2003 à 23:17:19
bah quand tu fais une base de données, tu dois d'abord faire l'inventaire de toutes les informations dont tu as besoin, puis tu normalises, c'est à dire regrouper ces infos rationnellement.
Bon, de quoi as-tu besoin pour gérer tes drapeaux? La voilà la question
Euh alors je dirais: l'id de l'utilisateur, l'id du sujet, et la dernière position lue dans le sujet. J'ai bon?
Marsh Posté le 14-03-2003 à 23:30:12
Ah ouais, merde, j'avais pas vu ca comme ca.... Je pensait une ligne par utilisateur, mais je bloquais sur comment sauver toutes les infos de tous les sujets
Mais en fait avec ta méthode, tu as pour chaque utilisateur autant d'enregistrement qu'il a vu de question ?
Marsh Posté le 15-03-2003 à 00:10:27
et comment veux-tu faire d'autre? Tout dépend si tu veux conserver longtemps ces informations
Tu dois forcément avoir une ligne associant un utilisateur à un sujet. Je sais pas si c'est la meilleure méthode qui existe mais c'est la meilleure que j'ai à te proposer. Pis bon hein, 4 bytes pour l'id du user, 4 bytes pour l'id du topic, et encore 4 pour la date, ça ne fait jamais que 12 par enregistrement.
Marsh Posté le 15-03-2003 à 00:17:17
drasche a écrit : et comment veux-tu faire d'autre? |
Ben justement, ca fait 3 jours que je cherchais sans résultat ... d'où mon topic
drasche a écrit : |
Mais c'est clair que ca fait pas une grosse table non plus.
En tous cas je te remercie grandement Je vais enfin pouvoir finir mon forum
Marsh Posté le 15-03-2003 à 00:24:15
ReplyMarsh Posté le 15-03-2003 à 00:27:28
ReplyMarsh Posté le 15-03-2003 à 02:28:00
benj9002 a écrit : |
nulle part pour l'instant j'ai pas commencé les goodies... je les ferais une fois que le forum sera fini ds ses grande lignes...
Marsh Posté le 16-03-2003 à 00:51:28
drasche, je te remercie 1000 fois, grace à toi j'ai fini mon forum, et ca marche trop bien !!! c'est un chouia lent mais ca va quand meme (chaque page mets environ 0,15s à se créer au lieu de 0,1s)
Encore merci
Marsh Posté le 16-03-2003 à 00:56:33
Marsh Posté le 16-03-2003 à 09:23:47
benj9002 a écrit : drasche, je te remercie 1000 fois, grace à toi j'ai fini mon forum, et ca marche trop bien !!! c'est un chouia lent mais ca va quand meme (chaque page mets environ 0,15s à se créer au lieu de 0,1s) |
et avec combien de message dans ta bdd tu as cette vitesse ?
Marsh Posté le 16-03-2003 à 10:51:50
pour l'instant y a environ 250 messages pour 5 forums.
Mais je sais que mon forum est pas super bien programmé non plus ...
Pourquoi ? Tu trouve ca lent ou rapide comme forum ? (ah aussi, pour l'instant il est sur mon portable cel800 avec un dd 4200tr/min qui est tout sauf une flèche ...)
Marsh Posté le 16-03-2003 à 11:36:54
benj9002 a écrit : pour l'instant y a environ 250 messages pour 5 forums. |
bah prend hfr comme ref... entre 0,03 et 0,09 pour lister la premiere page de topic par ex... donc 0,15 c TREs lent (surtout avec 250msg contre plusieurs millions sur hfr...
Marsh Posté le 16-03-2003 à 11:50:38
Suri a écrit : |
Ouais mais HFR, c'est pas les memes moyens que moi aussi ... eux c'est un bi Athlon MP 2400+ 512Mo si je me souviens bien en full SCSI (10 000tr/min surement) ... Et en plus la mise en page des messages se fait coté client en javascript pour HFR ... enfin bref, c pas le meme calibre non plus ... et eux, c'est un serveur dédié, alors que moi, je fait autre chose aussi avec mon ordi.
Mais sinon pour les pages simples, j'ai un temps de génération de 0,02 à 0,03s
En fait, je voudrais avoir des idées de comparaison avec d'autres forums fait main qui tournent sur des machines relativement modestes
Marsh Posté le 16-03-2003 à 11:51:20
remarque.. moi je suis pas loin
mais c super variable... je suis entre 0,7 et 0,05 pour une page de topic... c bizarre qd meme c du a koi?
Marsh Posté le 16-03-2003 à 11:58:23
Je viens de faire des tests, si je suis pas loggué (donc en anonyme) ca met 0,05s à afficher la page en moyenne. Par contre si je suis loggué ca mets 0,1 à 0,15s selon le nombre de messages sur la page
C'est tout simplement du aux nombre d'acces à la base de données. Mais pour la meme page aussi, des fois ca varie du simple au double entre 2 appels ... surement un pb du à l'occupation du proc à ce moment la
En tous cas, mon forum marche, c'est l'essentiel
Marsh Posté le 16-03-2003 à 12:51:54
juste comme ca, tu as une gestion des smileys et autre ubb code?
c ca qui me plombe tout moi
corrected
un select a chaque fois pour recuperer les smileys
Marsh Posté le 16-03-2003 à 13:34:55
benj9002 a écrit : pour l'instant y a environ 250 messages pour 5 forums. |
ben long
je suis en train de faire un forum,et je l'ai tester avec 200 000 sujets et 1 millions de reponse.Il met entre 0.03 et 0.01 secondes par page
mais pour le moment il a pas trop d'option,mais en general c les requetes qui prenne le plus de temps surtout avec des millions de messages.
et puis pour les smiley faut pas les stocker dans la bdd !
dans ton fichier php,tu met les smiley par defaut dans ta page avec str_replace et les autres tu utilise regex pour remplacer [:smiley] par <img src="smiley.gif">
mais regex c assez compliqué
Marsh Posté le 16-03-2003 à 13:38:38
benj9002 a écrit : |
Si tu utilisais des CSS pour tout ce qui est mise en page, tu n'aurais absolument pas besoin de générer quoi que ce soit du côté serveur pour cela. (Ou plutôt si, la feuille de style, mais une fois pour toutes)...
Marsh Posté le 16-03-2003 à 13:40:02
forummp3 a écrit : |
oui c ce que je viens de faire un fichier de smiley... mais c un fichier generé par l'admin donc les smileys sont forcement ds une table.. mais bon j'avais fait une grosse connerie qd meme
Marsh Posté le 16-03-2003 à 14:13:50
Hermes le Messager a écrit : |
justement j'utilise une feuille de style
mais par contre je fais mon tableau qui affiche les messages coté serveur.
Marsh Posté le 16-03-2003 à 14:16:39
benj9002 a écrit : |
Si tu utilises SEULEMENT la feuille de style pour le graphisme, tu allèges considérablement la charge pour le serveur. De plus, pour le client, le chargement est également BCP plus rapide, puisque la feuille de style externe reste dans le cache.
Marsh Posté le 16-03-2003 à 14:17:34
forummp3 a écrit : ben long |
Mais c'est quoi ta config ?
forummp3 a écrit : |
regex ca marche un peu comme preg_replace ?
pasque ca c'est trop de la balle, je l'ai découvert jeudi, depuis, je peu plus m'en passer
Marsh Posté le 16-03-2003 à 14:20:13
Hermes le Messager a écrit : |
Je comprends pas du tout ce que tu veux dire ... peut etre que c'est du a la fatigue, mais j'ai un peu de mal
Peut etre aussi que je programme pas tres proprement mon code html aussi c'est pour ca que c'est lent
Marsh Posté le 16-03-2003 à 14:20:55
benj9002 a écrit : |
j'ai tester sur un ordi puissant quand meme
pentium 2ghz mais ya seti qui tourne donc le processeur est ralenti.
regex (regular expression) c'est bien les preg_replace
Marsh Posté le 16-03-2003 à 14:22:36
benj9002 a écrit : |
Les regexp sont bcp bcp plus lentes que les str_replace.
Sinon, pour le reste je suis d'accord avec toi. Dans le forum que je suis en train de faire, les smileys persos des membres seront stokés sur un fichier externe qui portera l'ID du membre comme nom, et dedant seront mis les smileys persos du membre. Cette page sera alors directement incluse dans la page répondre. Seule la connaissance de l'ID du membre sera donc nécessaire.
Marsh Posté le 16-03-2003 à 14:27:41
Hermes le Messager a écrit : |
prkoi se compliquer la vie avec les fichier?tu remplace le code du smiley par l'adresse du smiley.
Marsh Posté le 16-03-2003 à 14:29:36
forummp3 a écrit : prkoi se compliquer la vie avec les fichier?tu remplace le code du smiley par l'adresse du smiley. |
Tu n'as pas lu correctement mon message. Je te parle d'une liste de smileys persos PROPRES à CHAQUE MEMBRE.
Marsh Posté le 16-03-2003 à 14:30:30
Hermes le Messager a écrit : |
ca veux dire que un membre peu avoir plusieurs smiley perso?
Marsh Posté le 16-03-2003 à 14:30:52
forummp3 a écrit : prkoi se compliquer la vie avec les fichier?tu remplace le code du smiley par l'adresse du smiley. |
Je pense qu'il voulais parler de la liste des smileys que le membre à en acces direct. Pas seulement de son smiley perso qui lui porte le nom du membre.gif
Edit : Grillé
Marsh Posté le 16-03-2003 à 14:31:52
forummp3 a écrit : ca veux dire que un membre peu avoir plusieurs smiley perso? |
Non tu peux avoir acces direct aux smileys d'autres membres
Marsh Posté le 16-03-2003 à 14:32:41
benj9002 a écrit : |
he oui grilled
p'tete qu'il parle aussi de la liste des smiley perso des autres que l'on aura sur l'interface d'admin pour cliquer dessus.
Marsh Posté le 16-03-2003 à 14:34:37
Hermes le Messager a écrit : |
Ca m'explique pas ce que tu voulais dire par là
Marsh Posté le 16-03-2003 à 14:45:03
benj9002 a écrit : drasche, je te remercie 1000 fois, grace à toi j'ai fini mon forum, et ca marche trop bien !!! c'est un chouia lent mais ca va quand meme (chaque page mets environ 0,15s à se créer au lieu de 0,1s) |
La différence est énorme, ce n'est pas normal. Vérifie la manière dont tu effectues ta jointure et surtout les index relatifs à tes tables. Un index compound membre/sujet sur ta table drapeau te permettrait déjà de gagner en perf.
Marsh Posté le 16-03-2003 à 14:53:59
Core 666 a écrit : |
Euh, déja c'est quoi la jointure Et un index compound
Mais sinon, je pense que les ralentissement viennent du fait que j'utilise qu'une table pour tous les messages : je stocke les questions et les réponses dans la meme table. Mais je changerais ca dasn la prochaine version de mon forum
Marsh Posté le 16-03-2003 à 14:55:45
benj9002 a écrit : |
Regarde ici :
http://tousleschats.free.fr/hermes/forum/index.html
http://tousleschats.free.fr/hermes/forum/sujets.html
http://tousleschats.free.fr/hermes [...] dages.html
http://tousleschats.free.fr/hermes/forum/messages.html
http://tousleschats.free.fr/hermes/forum/sondages.html
http://tousleschats.free.fr/hermes/forum/repondre.html
et fait un click droit, ce sera plus "parlant".
Ce sont des préwiews de ce à quoi ressemblera mon forum. Regardes bien le code : Aucune spéc. concernant le graphisme n'est présente dans le code HTML. ABSOLUMENT TOUTE la mise en forme est contenue dans une feuille de style externe, ce qui fait qu'on pourra changer une fois pour toutes, toutes les caractéristiques graphiques sans toucher une ligne de code. Et bien sûr, toutes ces caractéristiques seront autant de choses en moins à générer.
Marsh Posté le 16-03-2003 à 14:56:36
Hermes le Messager a écrit : |
ouais mais la casse des smileys tu geres comment ca apres ?
Marsh Posté le 16-03-2003 à 14:56:47
benj9002 a écrit : |
http://www.mysql.com/doc/en/JOIN.html
http://www.mysql.com/doc/en/MySQL_indexes.html
Citation : Mais sinon, je pense que les ralentissement viennent du fait que j'utilise qu'une table pour tous les messages : je stocke les questions et les réponses dans la meme table. |
Beurps, j'ai vomi
Marsh Posté le 16-03-2003 à 15:02:39
Suri a écrit : |
Ben bêtement en considérant qu'on doit remplacer " smiley " par l'image correspondante. (Remarque bien les espaces). exemple : " ".
Marsh Posté le 16-03-2003 à 15:05:40
Hermes le Messager a écrit : |
euh ce que je voulais dire c pour gerer par exemple
": d" et ": D" .. avec une regexp tu matches avec /i mais pour str_replace?
Marsh Posté le 14-03-2003 à 22:54:48
Salut a tous,
Je suis en train de faire un forum en php et je suis en galère pour le suivi des sujets (l'équivalent des drapos sur ce forum).
Je sais pas du tout comment je peux faire ma table dans laquelle stoquer les valeurs des dernières réponses lues.
Si vous pouviez me donner quelques conseils.
Merci d'avance
Benjamin
Message édité par BenJ9002 le 15-03-2003 à 01:05:17