A propos de la progra d'un forum [UPDATE] - PHP - Programmation
Marsh Posté le 25-06-2003 à 15:11:56
heu... je suis pas sur d'avoir compris... mais je crois ke tu t'y prends mal... regardes des sources de sites et tu verras c pas comme ca kon fait c ingérable ton truc... faut utiliser des ids.... pour pouvoir replacer un post en fonction de sa catégorie rubrique et du post en lui même .. et tu sé se lancer dans la prog d'un forum.... comme ca si t'as pas de conaissances c un peu chaud essayes des trucs plus simples d'abord... comme un systeme de news avec commentaires... c un bon début ca te donnera des idées pour faire le forum apres...
Marsh Posté le 25-06-2003 à 15:13:53
oula déja 1000 user ca me semble enorme
déja une 100 c bq pour un petit site
alors si chacun des 100 membre poste 10 topics de 10 msg par exemple, cela reviens 100x10x10 soit 10 000 msg
ca semble jouable a mon avis mais chui pas un grand expert apres faut voir le serveur et le débit et tout et tout ...
Marsh Posté le 25-06-2003 à 15:51:04
en fait je crois qu'il veut faire une sorte de location de forum.. cad plusieurs personnes prennent le forum qu'il a conçu et en font ce qu'elles veulent mais c'est lui heberge la BDD... si c'est ça t'es pas dans la merde
Marsh Posté le 25-06-2003 à 16:29:35
c'est claire que si c'est ce que tu dis on peut prendre mon calcul et le multiplié apr le nombre de forum existant
imagine que 100 personne prenne son forum
et qu'on prend ma théorie des 10 000 msg par forum
on atteind le million de msg a stocké dans la bdd (sans parlé de tous chaque champ de chaque table)
Marsh Posté le 25-06-2003 à 16:32:35
c'est en tout cas comme ça que je l'ai compris. Après, c'est à lui de nous le confirmer et c'est clair que si c'est ça, ça va être bien lourd...
Marsh Posté le 25-06-2003 à 17:52:11
Max Evans a écrit : [...]Je me pose la question suivante :
|
Le gros avantage d'une solution de ce type c'est que tu peux proposer davantage de sécurité et de flexibilité à tes clients. Ils ont chacun leur base, tu peux leur proposer de la rappratrier indépendant via un dump s'ils souhaitent une sauvegarde. Si un site se fait hacker a cause d'une faille dans un de tes scripts seul un forum sera directement touché ... Ca se défend comme solution
Citation : En définitive, je voudrais faire cela pour la table des messages, car 10 000 000 de messages (Prenons un extreme), sur une seule table, ca risque de bien ramer ... |
Ne te focalise pas sur la taille des tables, je vois au dessus que certains hallucinent d'imaginer des forums avec 1 million de messages pourtant c'est rien du tout. Avec un modèle de donné intelligent et des index adaptés c'est une quantité de message que tu peux gérer sans le moindre problème.
Marsh Posté le 25-06-2003 à 17:56:24
Core 666 a écrit : |
Il a pas parlé de base mais de tables, et donc, si il ne s'est pas tromper, ça rique d'être bordélique...
Marsh Posté le 25-06-2003 à 17:57:49
c'est vrai que c'est peut etre pas enorme vu que c que du texte.
faut voir
bon le principal interrésé il réponds tjrs pas ???
ps: et HFR contient combien de messages, bon je vais commencé à les compter
1, 2 , 3 , 4 ... 439423
ah ca va ne faite
Marsh Posté le 25-06-2003 à 20:16:13
Kikoo all
Désolé pour le retard
En fin de compte, je crois que je viens de faire pire
Je fais une table par categorie ; c'est super lourd comme systeme mais au moins c'est bien plus rapide
Genre s'il y a 50 000 topics dans la Cat1, et 1 un dans la Cat2, quand je vais consulter la Cat2, ca rame pas d'un poil
Peaceiznotdie13 >> Si si je connais PHP, j'ai deja fait un forum, mais justement, je m'étais heurté au fait que, lorsque j'ai 10 000 000 messages (Posté grace a ma flood machine ), beh ca ramait secos
Sinon, je me demandais ...
Avec ma flood machine, j'ai posté 50 000 topiks
Et a l'affichage des topiks, ca rame encore pas mal (Genre 0.350s) ; pas super koi
Sur HFR, il y a 4249 pages dans Bla Bla, a raison de 30 topiks par page, ca fait environ 125 000 topiks, et le temps de génération est de 0.013s
Ya comme un soucis chez moi
Comment Joce a t il fait ? Un split de table ? Un index super bien placé ?
Merci a tous, et encore désolé du retard
Marsh Posté le 26-06-2003 à 10:31:59
change de ligne adsl et de change le cpu de ton serveur, ca ira plus vite.
Marsh Posté le 26-06-2003 à 11:01:57
Max Evans a écrit : Kikoo all |
j'ai fait un forum,et j'ai moi en local,j'ai 500 000 messages par categorie et je met 0.030 s maximum pour generer chaque page.Le truc "magique" c'est les index,fait les placer sur les clé primaires.
Sinon,tu peut voir le forum installé sur mon site: http://forum.forum-mp3.net
Marsh Posté le 26-06-2003 à 22:10:35
NemoHP a écrit : change de ligne adsl et de change le cpu de ton serveur, ca ira plus vite. |
Ca m'étonnes quand meme en local, sur un AMD 2500 + 1 Go de RAM DDR que ca fasse ca
Marsh Posté le 26-06-2003 à 22:12:38
forummp3 a écrit : j'ai fait un forum,et j'ai moi en local,j'ai 500 000 messages par categorie et je met 0.030 s maximum pour generer chaque page.Le truc "magique" c'est les index,fait les placer sur les clé primaires. |
Effectivement, je m'en suis apercu ce matin
Sans Index, 0.150s, avec 0.009s
Sinon, j'ai splitté kkes tables, ca marche pas mal
Si vous voulez une démo : http://www.smallville-fr.com/forum_test/?id=1
PS : C'est PAS DU TOUT fini, c'est carrément rudimentaire, c t juste pour vous montrer
PPS : J'ai essayé avec 150 000 topics dans une categorie, ca marche nikel, 0.009s Par contre, quand on arrive a la page 4500, la ca rame deja bocoup plus, 0.500s
Je vais essayer de suivre tes conseils forummp3 en placant les index sur les clefs primaires
Encore merci
Marsh Posté le 26-06-2003 à 22:15:06
Max Evans a écrit : |
keske tu veux dire par "splitter la table" ? tu t'y prend comment?
Marsh Posté le 26-06-2003 à 22:15:16
forummp3 a écrit : Le truc "magique" c'est les index,fait les placer sur les clé primaires. |
euh non le truc magique c'est les autres index... une primary key est d'office indexée
Marsh Posté le 26-06-2003 à 22:16:14
forummp3 a écrit : keske tu veux dire par "splitter la table" ? tu t'y prend comment? |
J'ai fait un truc assez fastidieux, en gros pour chaque catagorie, tu as une table
Marsh Posté le 26-06-2003 à 22:16:56
the real moins moins a écrit : euh non le truc magique c'est les autres index... une primary key est d'office indexée |
faut faire aussi sur les "pseudo clé etrangere" aussi,enfin,celle qui vont servir a faire les jointures.
Marsh Posté le 26-06-2003 à 22:17:32
Max Evans a écrit : |
c'est ce que je fais sur mon forum.
Marsh Posté le 26-06-2003 à 22:18:24
forummp3 a écrit : c'est ce que je fais sur mon forum. |
Ha comme quoi, j'suis pas aussi taré que je ne le pensais
Marsh Posté le 26-06-2003 à 22:19:13
Par contre, j'ai toujours ce pb, kand on arrive aux messages tres anciens (Genre page 4000 de la page des topics), ca rame assez
Marsh Posté le 26-06-2003 à 22:20:05
Max Evans a écrit : |
je te rassure,joce fait pareil
Marsh Posté le 26-06-2003 à 22:20:43
forummp3 a écrit : faut faire aussi sur les "pseudo clé etrangere" aussi,enfin,celle qui vont servir a faire les jointures. |
ben oui
mais c pas des clés primaires ça
Marsh Posté le 26-06-2003 à 22:21:13
Max Evans a écrit : Par contre, j'ai toujours ce pb, kand on arrive aux messages tres anciens (Genre page 4000 de la page des topics), ca rame assez |
moi aussi g ce probleme
mais vu qu'il est presque improbable que l'on ateigne ce nombre de poste dans nos forums,alors faut pas s'inquieter
et puis c'est rare ceux qui vont dans la derniere page.
Marsh Posté le 26-06-2003 à 22:21:36
forummp3 a écrit : je te rassure,joce fait pareil |
Yes 129 tables pour HFR
Marsh Posté le 26-06-2003 à 22:21:48
the real moins moins a écrit : ben oui |
oui,j'avais oublié de dire qu'il fallait en mettre la.
Marsh Posté le 26-06-2003 à 22:22:17
forummp3 a écrit : moi aussi g ce probleme |
C'est sur
Mais ici, dans la cat Bla bla, j'ai ete a la toute dernier page, et le tps de generation etait de 0.013s
Houston, on a un pb sur nos forum
Marsh Posté le 26-06-2003 à 22:27:18
forummp3 a écrit : oui,j'avais oublié de dire qu'il fallait en mettre la. |
ya que 13 cat
Marsh Posté le 27-06-2003 à 01:14:55
mySQL gère sans problème des milliers de lignes, et les sélectionne très rapidement si on s'y prends bien.
Le problème n'est pas d'avoir 10 000 000 de messages mais d'avoir des onlines.
Le forum ira plus vite avec 100 personnes sur un forum de 10'000'000 de messages qu'un forum avec 1'000 personnes sur un forum de 100'000 messages par ex.
Marsh Posté le 27-06-2003 à 01:19:07
forummp3 a écrit : Le truc "magique" c'est les index,fait les placer sur les clé primaires. |
Comment ca placer les index sur les clés primaires ? Les clés primaires sont déjà des index uniques.
Marsh Posté le 27-06-2003 à 02:43:03
vous faites comment pour afficher le temps d'execution ?
(ca a aucun rapport mais ca minteresse)
Marsh Posté le 27-06-2003 à 03:10:08
Tu chopes l'heure au debut de ton script, puis l'heure a la fin de ton script, tu fais la soustraction et cela te donne le tps d'execution
Marsh Posté le 27-06-2003 à 09:40:33
en ce qui concerne les clés c'est:
* une clé primaire pour chaque table,
* une clé par champ relié à une clé primaire d'une autre table.
Marsh Posté le 27-06-2003 à 10:13:28
G pas tout suivi là !!
les champs d'une ont une clé primaire ca je m'en doute masi , un clé par table la je vois pas ! explication pleazzzzzzzzzz)
Marsh Posté le 27-06-2003 à 10:16:12
ben c'est simple, le meilleur moyen d'accélérer l'accès à un enregistrement d'une table, c'est d'avoir une clé primaire (qui est donc un index).
Mais quand je dis une clé par table, c'est le minimum, pas le maximum hein
Marsh Posté le 27-06-2003 à 10:23:27
aaaaaaaaaahhhhhhhhhh !!
ouais c'est sur , ça me semblait tellement évident que je ne n'avais meme pas suivi le résonnement
merci
Marsh Posté le 27-06-2003 à 12:57:30
Perso j'ai pas bien compris l'histoire des PRIMARY KEY
Marsh Posté le 27-06-2003 à 13:04:39
Max Evans a écrit : Perso j'ai pas bien compris l'histoire des PRIMARY KEY |
la primary key est un index, sur un ou des champs qui ne peuvent contenir la valeur null. Et son rôle est d'idendifier de manière unique chaque enregistrement de la table pour laquelle est créée la primary key.
Ou t'as pas compris autre chose?
Marsh Posté le 27-06-2003 à 13:08:26
drasche a écrit : |
Nop c'est bien ca que j'avais pas compris
Mais sinon, le PRIMARY KEY, il faut le mettre sur l'ID de l'enregistrement ?
Encore merci
Marsh Posté le 25-06-2003 à 14:54:41
Bonjour à tous
Je suis en train de programmer un petit forum sans prétention, bien loin des PPC (:D), et j'aimerai avoir vos avis :
---------------------------------------
EDIT : MAINTENANT LE PROBLEME EST :
Je n'arrive pas a remplacer ceci avec une Regexp
je voudrai remplacer ce bout de code par un espace
<table width="70%" border="0" cellspacing="0" cellpadding="0" bgcolor="#000000" align="center">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="5">
<tr>
<td class="quote"><b>(.+?) a ecrit :</b> <br> (.+?)</td>
</tr>
</table>
</td>
</tr>
</table>
---------------------------------------
Disons que 1000 personnes se sont inscrites pour avoir mon forum (Qui reste sur un meme serveur), cela fait donc 1000 forums
Comptons 10 tables pour un forum normal.
Je me pose la question suivante :
Est il préférable de découper les tables ; par exemple :
Pour le forum 1 :
Pour le forum 2 :
Cela fait 10 tables par forum ; avec 1000 forums, on obtient alors 10 000 tables !
Est-ce jouable ?
En définitive, je voudrais faire cela pour la table des messages, car 10 000 000 de messages (Prenons un extreme), sur une seule table, ca risque de bien ramer ...
Alors que si je découpe les tables ; chaque forum a sa table des messages, c'est deja beaucoup mieux
Voili voilou, qu'est ce que vous en pensez ?
Est ce techniquement possible ?
Merci a tous
Message édité par Max Evans le 29-06-2003 à 13:44:48
---------------
Envie d'un bol d'air ? Traxxas Revo 3.3