header
Accueil
Règles
Les 5 Races
Histoire
Classements
Forums
Inscriptions
Jouer son Trõll
Packs Graphiques
Goodies
Nous Contacter
Soutenir le Jeu.
Notre Boutique.
Liens
Webring
Crédits
 
  Ze Calendrier
calendar
 MountyHall
Référencé sur
Tour de Jeu
Ludimail
Jeux Alternatif
 
HG
Nous sommes le 6° jour du Gnu du 24° cycle après Ragnarok
HM HD
 
 
BG     BD
 Bienvenue Invité     S'enregistrer    Connexion Search the Forum   Display List of Forum Members
Forums Tous les Forums
ligne Forum Avis et Idées : Modifications
DON MountyHall
Modérateurs de ce forum : Aghabeu, Dabihul, Grankausto, Loinvu, Madère, Mamoune, Modérateur 6, Modérateur1, Modérateur2, Modérateur3, Modérateur4, Modérateur5, Mr x, Rouletabille, Schtroumpf, TilK, VYS, Xaruth
Si vous avez une idée, n'hésitez pas à en faire part à la communauté. Donnez également votre avis sur les 'features' du jeu.', 'Toutes les suggestions de Modification d'un élément existant seront discutées ici. Soyez objectif, respectez les avis des autres participants et donnez un maximum d'explications de votre choix ou de votre suggestion.

Votre idée doit servir à améliorer le gameplay du jeu et pas à satisfaire un intéret personnel.

Ce Forum sera modéré avec rigueur et aucun débordement ne sera toléré.


Version imprimable

#. Message de Reivax4234 le 28-07-2004 à 22:59
4234 - Reivax le Massacreur (Kastar 57)
- Teubreu -
Pays: France (75 - Paris)  Inscrit le : 08-03-2003  Messages: 2734 (Djinn Tonique)   Citer Citer
Suite au dernier problème de base de donnée (voir ici), qui n'a pas supporté de voir la table des évènements peser 2Go, il est temps de voir si garder de vieux évènements est réellement utile.

J'y ai pas acces tout de suite (evidemment), mais par exemple les entrainements du mois dernier, on s'en fout...
En fait, seuls les evenements de "MORT" valent le cout d'etre gardes plus de 15 jours voire meme une semaine.
Et encore... C'est uniquement dans un but de "tableau de chasse", qui peut etre tenu a la main sur le profil sans probleme, de nombreux trolls le font deja.
Dans Les Souterrains de Delain, on ne garde aucun evenement de plus de 15 jours, et c'est pas si choquant que ca.

Et si l'équipe a besoin des vieux evenements pour traquer les MTs (comme les dons de PXs), rien n'empeche de les stocker à part, dans un gros fichier, qui de toutes facons ne sera utilise que pour les enquêtes et donc n'influera pas sur les performances.

Dès que le serveur reprend, je tente de faire la liste des évènements enregistrés et d'en proposer une durée de vie raisonnable.

Voila... J'ai l'impression de dire des trucs auxquels vous avez deja pense 30.000 fois, mais on sait jamais

Reivax le Massacreur, double-posteur.

#. Message de Grabuge le 28-07-2004 à 23:05
6415 - ( )
Pays: France  Inscrit le : 18-06-2003  Messages: 2065 (Djinn Tonique)   Citer Citer

La solution a ça est d'avoir 2 tables.

Celle de jeu avec tous les événements récents (datant de moins de n jours).

et 1 table d'historique avec les événements à garder absolument (entrainement, amélioration, mort, don de PXs, ...)

Ton gros fichier deviendrait vite illisible et inutilisable... on parle de 2GOs!
A partir de quelques mégas, un fichier devient illisible


#. Message de Ice Skrim le 28-07-2004 à 23:05
30715 - ( )
Pays: France  Inscrit le : 22-06-2004  Messages: 21 (P'tit Gob')   Citer Citer

prkoi ne pas simplifier la structure de cette table ?

avec des numéros sur plusieurs champs plutôt que du texte entier.


#. Message de Reivax4234 le 28-07-2004 à 23:10
4234 - Reivax le Massacreur (Kastar 57)
- Teubreu -
Pays: France (75 - Paris)  Inscrit le : 08-03-2003  Messages: 2734 (Djinn Tonique)   Citer Citer
Originally posted by Grabuge on 2004-07-28 23:05:15
La solution a ça est d'avoir 2 tables.

Euh...
Bah c'est exactement ce que je propose, hein ^^
Quand je dis un fichier, je parlais bien sur de table, mais une table c'est stocké comment ? Dans un fichier

#. Message de hyperbole le 28-07-2004 à 23:46
  [Ami de MountyHall]
13985 - ( )
Pays: France  Inscrit le : 19-06-2003  Messages: 1297 (Trõll de Compèt')   Citer Citer

Sur l'optimisation, je fais confiance à l'équipe : s'ils estiment que le jeu ne supporte plus de garder en mémoire accessible à tous via les évènements autant de données, ils les limiteront et basta.

Il est bien entendu évident que je préfère un jeu qui tourne et ne pas avoir accès à certaines infos que le contraire.

Cependant, sans aller non plus trop longtemps en arrière, je trouve que conserver les ev de mort, d'entrainement et de don d'XP pendant plusieurs mois est pas mal, assez utile tout de même, permet de voir le "caractère" d'un troll croisé dans les souterrains.
De même je trouve tout de même pas mal d'avoir les ev de combat, d'achat et de ramassage des 2 ou 3 dernières semaines.
On s'y ferait si ça disparaissait bien entendu, mais je crois que seule l'équipe est en mesure de savoir ce qui arrangerait les choses de manière significative.


#. Message de loulouf le 28-07-2004 à 23:50
107342 - LouLouf_The Dark (Darkling 28)
- Saigneurs des Profondeurs -
Pays: France  Inscrit le : 12-11-2003  Messages: 4132 (Djinn Tonique)   Citer Citer

C'esun bonne idée

par contre faut voir au nivo des missions si ca pose pas des probs car y a des étapes qui dure longtemps ...


#. Message de Vrischika le 29-07-2004 à 02:29
  [Compilateur MH++]  [Ami de MountyHall]
87312 - Spinella (Kastar 14)
- La Nurserie -
Pays: Belgium  Inscrit le : 05-06-2002  Messages: 9092 (Hydre Fumante)   Citer Citer

pour les missions, les requêtes peuvent se faire sur la table parallèle, avec toutes les infos.

je suis assez pour diminuer le durée de vie de evmnt, si cela peut aider


#. Message de leprechaun[MF] le 29-07-2004 à 08:31
9639 - Leprechaun (Darkling 29)
Pays: France (69 - Rhône)  Inscrit le : 07-04-2004  Messages: 612 (Shaï Epileptique)   Citer Citer
et diviser la table en deux tables évènements de cette manière?
 
genre d'un côté une table libellés évènements ("id libellé, libellé évènement"), et une table évènements (n°troll, id libellé, n°troll concerné par l'évènement, n°monstre concerné par l'évènement, n°objet concerné par les évènements)
 
vous avez bien une table pour les monstres (n°, type, libellé), une table trolls (n°, type, libellé), et une table objets (n°, type, libellé) , une table type...non?
 
ça éviterait de stocker du texte et avoir des tables qui font 2Go, et à la place avoir plusieurs tables plus légères
surtout que les libellés d'évènements sont répétés pour rien
 
le but étant de simplifier au possible, et de ramener les données par un script qui ferait une jointure sur l'ensemble des tables, en fonction du n° de troll

#. Message de Grognon le 29-07-2004 à 08:51
  [Ami de MountyHall]
2690 - ( )
Pays: France  Inscrit le : 17-08-2003  Messages: 122 (Golem Costaud)   Citer Citer

Limitez au maximum si cela doit alléger (c'est un informaticien qui vous parle).

Cependant quatre remarques quand même :

1) Il faut "absolument" pouvoir déterminer l'alignement d'un troll que l'on croise (TK, MK, queud', ou un mix de tout ça). Donc faut pouvoir garder les évènement de mort très longtemps. Si on fait une table "à côté" juste pour cela, le problème restera malheureusement le même, parce que cette table va grossir. Donc pas facile... Sans avoir vu le schéma relationnel de votre base.

Une idée peut-être, ne garder que les dix derniers évènement de type MORT, ce qui est suffisant pour voir si un troll est TK, MK, etc... Et dans une table "à côté" si ça peut arranger. Il "suffirait" de faire un COUNT des entrées dans la table, et s'il y en a déjà 10, on en vire une (après avoir ajouté la dernière). Certes, ça rajoute pas mal de traitement pour chaque evt MORT... C'est difficile à dire si c'est mieux comme ça à vide, sans connaître la conception.

2) A ce propos, elle est où la ML dédiée aux informaticiens qui voudraient aider ? (et dont il avait été question dans les forums ? J'ai cru avoir lu qu'elle existait maintenant ?)

3) Il faut garder aussi les Evts de DON pour traquer les MT. Certes, même si personnellement j'aime à dénicher ce genre d'enfoiré de joueurs qui nuisent à l'esprit du jeu, c'est une connaissance dont pourraient se passer les joueurs. Donc ce pourrait être stocké "ailleurs", juste à dessein des Enquêteurs. A moins que là aussi on ne garde pour les joueurs, en plus de la table "à côté" pour les Enquêteurs, les derniers evts de DON pour permettre aux joueurs de voir si deux trolls qui s'approchent jouent ensemble ou pas. Mais je pense qu'on peut s'en passer sinon.

4) A propos des Missions / Evts :

Pour avoir vu les problèmes liés à la longueur et la difficulté de Valider une Etape d'une Mission, il me semble que l'action de Validation parse tous les évènements depuis la date stockée de début de réalisation de l'Etape. Une telle pratique est bien évidemment tout à fait non optimisée et lourde pour le serveur (on en a vu les impacts à une époque où cela ne coûtait pas 1 PA pour Valider). Ne lisez pas la suite si je me suis planté en supposant comment ça marche. Une autre conséquence de cela, c'est qu'il faut pouvoir garder les évènements (du moins une bonne partie d'entre eux : tous ceux susceptibles d'être impliqués dans la vérification d'une Validation d'une Etape) pendant une durée indéterminée, car le Meneur et son équipe peuvent mettre le temps qu'ils veulent pour réaliser une Etape. Ce point là empêcherait de limiter le stockage des evts.

Une solution serait de changer le fonctionnement de la gestion des Etapes d'une Mission. Ca allègerait la Validation, et permettrait de ne pas stocker les evts au delà d'une certaine durée, ce qui est le but de ce thread.

Pour ce faire, il faudrait revoir la gestion de Missions (ça doit être lourd :-( ) pour qu'à chaque type d'Etape soit associé un descriptif (dans une table) des evts à logguer pour tracer la réussite de cette Etape, et qu'ensuite un flag soit activé au niveau des participants d'une Mission et qu'à chacun des évènements d'un des membres de l'équipe, si le flag est activé, on loggue l'évènement dans une table *dédiée* à la validation des Missions (avec par exemple comme entrée : noMission, evt). Lors de la Validation de l'Etape d'une Mission, c'est cette table qui serait parsée avec la clé de la Mission. Ce serait beaucoup plus optimisé. Et si l'Etape est validée, on vide ladite table des evts loggués jusqu'à présent. On y logguera les evts liés à la prochaine Etape.

Pour m'occuper moi-même d'un pbem, j'entrevois bien sûr que toute reconception demande un travail énorme...

 

J'essayais juste d'aider, j'espère avoir contribué un peu à cela. Sinon je suis désolé pour tous ceux que j'ai sâoulé avec un post aussi long !

 

Grognon, Relais&Mago.


#. Message de Youpla le 29-07-2004 à 11:17
36173 - Kitbouff (Kastar 55)
Pays: France  Inscrit le : 14-07-2004  Messages: 1801 (Trõll de Compèt')   Citer Citer

Et si on essayait de s'affranchir de la limite (obsolete il me semble) de 2Go  ?

http://dev.mysql.com/doc/mysql/fr/Table_size.html

1.2.4 Quelles tailles de tables supporte MySQL ?

MySQL version 3.22 a une limite de 4Go par table. Avec le nouveau format de table MyISAM, disponible avec MySQL version 3.23, la taille maximale des tables a été poussée à 8 millions de teraoctets (2 ^ 63 octets).

Notez, toutefois, que les systèmes d'exploitation ont leur propres limites. Voici quelques exemples :

Système d'exploitation  Limite 
Linux-Intel 32 bit  2Go, 4Go ou plus, suivant la version de Linux 
Linux-Alpha  8To (?) 
Solaris 2.5.1  2Go (4Go possibles avec un patch) 
Solaris 2.6  4Go (peut être modifié avec une option) 
Solaris 2.7 Intel  4Go 
Solaris 2.7 UltraSPARC  512Go 

En Linux 2.2, vous pouvez avoir des tables plus grandes que 2Go en utilisant le patch LFS pour les systèmes de fichiers ext2. En Linux 2.4, le patche existe aussi pour ReiserFS.

Cela signifie que les tables MySQL sont généralement limitées par le système d'exploitation.

 

Y a-t'il un endroit plus approprié pour ce post ?

a+


#. Message de hyperbole le 29-07-2004 à 12:38
  [Ami de MountyHall]
13985 - ( )
Pays: France  Inscrit le : 19-06-2003  Messages: 1297 (Trõll de Compèt')   Citer Citer

Juste pour dire que je ne me sers pas seulement des dons de PX pour savoir si j'ai à faire à un multi mais assez souvent pour savoir si j'ai à faire à quelqu'un qui partage après un kill

Les évènements permettent de déterminer le caractère d'un troll qui n'est pas toujours "transparent" dans sa description, et je les trouve donc très intéressants : avoir les 10 dernières morts ça me parait peu.

Bien entendu, si la survie du jeu est en jeu (ahem), on n'en parle plus et on bazarde un max d'évènements mais si y'a moyen d'en garder pas mal au niveau morts/combats/dons/achats ça serait quand même bien sympa.


#. Message de ortigal le 29-07-2004 à 17:11
  [Ami de MountyHall]
24271 - Ortigal (Tomawak 60)
- Baraka Minots -
Pays: France  Inscrit le : 12-02-2004  Messages: 9 (P'tit Gob')   Citer Citer

Il serait intéressant d'avoir des stats globales sur le nombre d'évènements de chaque type.

J'intuite que les évènements de type "déplacement" sont assez nombreux (et peu informatifs à mon avis, après tout, les monstres ne les ont pas!) et avoir une durée de vie très limitée pour ce type d'évènement ne serait pas grave du tout (voire les supprimer complètement?)

Quant aux évènements "mort" ou "amélioration", j'ai dans l'idée qu'ils sont si peu nombreux (en proportion) que tous les garder ou n'en garder que certains n'aura pas beaucoup d'impact sur les performances.

Bref l'idée est simple : taper sur les évènements les plus nombreux en premier, non?

 


#. Message de Markotroll le 29-07-2004 à 17:39
27637 - Markotroll (Skrim 60)
- Pendragon -
Pays: Belgium  Inscrit le : 15-06-2004  Messages: 794 (Shaï Epileptique)   Citer Citer
c'est fort technique mon blabla alors voici un résumé en français que j'espere compréhensible :-)
<résumé>techniquement on peux réorganiser la base de donnée en la découpant en morceaux afin de gagner en performance tout en gardant toutes les infos actuelles, certaines opérations ont un rapport intéressant en gain de performance vis-a-vis du temps nécessaire à leur mise en oeuvre</résumé>
 
patcher l'OS pour des fichier > 2Go est évidement une bonne chose mais je me permet de penser qu'il y a aussi un problème de performance (je connais très mal les détails technique de la situation actuelle, j'expose donc juste modestement mon avis ayant vécu un cas semblable)
 
une idée en vrac ayant très souvent un gain considérable sur les performances sans trop de modification : couper la table de l'historique des évènements (apollons la TROLL_EVT pour s'y retrouver) en plusieurs morceaux selon l'utilité :
 
TROLL_EVT_HST_1 : soit le premier Go évènements (solution facile et rapide à faire à très court terme) soit contenant par exemple les évènements jusqu'au 31/12/2003
TROLL_EVT_HST_2 et suivant : le Go suivant ou les années suivantes
TROLL_EVT_RECENT : les évènements récent (sic) pas encore archivé si on peux dire cela ainsi
TROLL_EVT_NOW : les évènements récents, ceux qui contiennent tout les détails (15 jours ?)
 
TROLL_EVT_NOW se vide régulièrement en copiant les évènements à garder (mort, don px, ...) dans la table TROLL_EVT_NOW
TROLL_EVT_NOW se vide dans TROLL_EVT_HST_<No> quand le critère est atteint (taille, date, ...)
ce genre d'opération de maintenance tourne sans problème en une priorité mini et en boucle ou à horaire fixe si on préfère
 
création d'une vue TROLL_EVT qui regroupe TROLL_EVT_* pour ne rien devoir changer dans le codage des opérations de lecture; les opérations d'écriture se faisant dans TROLL_EVT_NOW
 
les différentes tables des évènements subissant un taux de modification très important, il est aussi très intéressant de les (re)-créer avec une taille initiale volontairement importante pour éviter une fragmentation traître parfois horriblement néfaste (2 Go c'est une quantité horrible d'extend avec les valeurs par défaut)
 
MT/mission/autres besoin : rien n'empêche d'avoir une autre table (voir des tables) gardant ce genre d'info séparément et/ou les infos consolidée (genre X monstres level Y tués) cela nécessite par contre nettement plus de temps à mettre en oeuvre pour un gain à mon avis plus faible que les 2 solutions précédentes
 
normalisation de la base (le fait d'utiliser un index à la place du texte répétitif genre "a débarrassé le monde souterrain de": je pense que vous le faite sûrement déjà non ?
Si oui, utilisez-vous également des tables temporaires afin d'éviter de devoir refaire une jointure plusieurs fois dans un laps de temps très court ?

Pages : [1]

Pour poster une réponse sur ce Forum, vous devez d'abord vous connecter

Si vous n'êtes pas encore enregistré, vous devez d'abord vous inscrire.

 Changer de Forum
[ Contact : ] - [ Heure Serveur : 22:16:36 le 08/05/2026 ] - [ Page générée en 0.004 sec. ]