Llawan
Allegorie de l'antipathie

Forge : proposez vos améliorations pour MV
le 28/05/2003 1:58
Les deux precedente ayant disparut voici une nouvelle forge pour M-V .
le but de la forge est que vous autres magic-villois postiez des idée d'amelioration pour le site qui selon leur pertinence seront etudié puis peut etre mise en application a vos neurones forgez !
haut de page - Les forums de MV >> Général >> Discussion : page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106
Ant1
le 09/05/2021 20:27
Citation :
Citation :
Hello,
une redondance serveur et données est elle prévue en cas de nouveau problème OVH ?

Notre serveur actuel est à Gravelines.
Un serveur identique est actuellement loué à Frankfort.
Toutes les procédures de copie sont opérationnelles (toutes les 4h)
La mise en place de procédures de contrôle de ses transferts est un peu plus longue que prévue (encore quelques jours). Les transferts fonctionnent bien, mais je suis obligé de vérifier manuellement pour l'instant, ce qui n'est pas jouable à long terme.


super
Bannissons les tournois, ça évitera de bannir Storm :P

Légende
...
le 11/05/2021 0:34
Rien d'urgent, mais le set Historic Anthology IV n'est pas présent dans la collection MTGA. (et le V arrive bientôt).

Merci !
SIMON16DICE
le 12/05/2021 20:46
il vient d'y avoir un bug dans l'artgame, je voyais un puzzle, j'ai refresh, il disparait, et je ne le vois plus, mais il n'apparait pas dans les 100 dernieres cartes trouvees
papaoursdelux
Damn!

Légende
Petite lenteur
le 17/05/2021 17:47
Bonjour sous Chrome-Android, quand je cliques sur le bouton "Deck" depuis une page de carte, c'est extrêmement long à charger (une bonne trentaine de secondes) alors que Le autres liens fonctionnent au poil.

Je suis le seul à avoir ce souci ?
kricheck2001
Ours bipolaire
Pégase
le 17/05/2021 18:12
Idem même config et même problème que papaours
gritche
France
Légende
le 20/05/2021 16:34
Il y a l'air d'y avoir des micro-plantages du site j'ai l'impression.
Aujourd'hui je viens de perdre un deuxième deck, les cartes ont disparues.
La première fois c'était il y a quelques jours en accédant à un deck en lecture, l'autre fois aujourd'hui en sauvegardant un autre deck.

En consultant la liste des decks récents je ne suis pas le seul apparemment (C'est arrivé juste après 16h).

Tiens au passage il semble y avoir une requête sql visible en bas de la page de recherche de decks.
Marseille, Grèce

Légende
le 20/05/2021 17:15
Citation :
Rien d'urgent, mais le set Historic Anthology IV n'est pas présent dans la collection MTGA

Réglé, merci.

Pour les 3 derniers messages :

Il y a effectivement des ralentissements à certains moments, mais je ne suis pas encore arrivé à identifier la cause (en tout cas, ce n'est pas la fréquentation). Parfois, ça revient tout seul nickel, et d'autre fois, ça cale tellement que je fais un restart de la base de données, ce qui peut poser des problèmes si vous êtes en train de valider un deck.

La requête sur les decks contenant une carte étant effectivement ultra-longue et j'ai travaillé un peu dessus pour essayer de l'améliorer (sans succès jusqu'ici) et j'ai merdé sur les affichages de requête, d'où le SQL visible. Je ne crois pas qu'il y ait de solution miracle sur ce point, plutôt une séries d'optimisation qui rendent le truc plus vivable. À vue de nez :
Mettre les decks publics (60%) et les decks secrets (40%) dans deux tables différentes.
Être plus agressif sur les utilisateurs dormants ou disparus (genre, mettre de côté les decks d'utilisateurs sans connexion au site depuis 2 mois, puis les récupérer s'ils se connectent.)
Optimiser les requêtes, notamment le calcul du nombre de pages, qui prend autant de temps que l'affichage des decks recherchés.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 20/05/2021 17:56
Citation :
La requête sur les decks contenant une carte étant effectivement ultra-longue
Pourtant la requête me semble pas bien complexe :/ T'es sûr que ton modèle de données est bien normalisé ? Les bons index créés ?
Citation :
SELECT d.id, d.name
FROM deck d
INNER JOIN deck_card dc ON dc.deck_id = d.id
WHERE dc.card_id = @card_id AND d.is_public = 1
Avec deck_card la table d'association (qui contient entre autres le nb d'exemplaires de la carte dans le deck) entre deck (1 ligne = 1 deck d'un utilisateur) et card (1 ligne = 1 carte, sans notion d'édition).

Si c'est bien un truc du genre, des index sur les clés primaires/étrangères et sur le champ deck.is_public devraient permettre de donner un résultat rapide même avec des millions d'entrées dans chaque table. Et même avec un ou deux JOIN en plus (genre pour récupérer le pseudo de l'auteur du deck) ça doit pas changer grand-chose.

Si c'est vraiment trop volumineux à manipuler en mémoire (je vois pas bien pourquoi, a priori ça peut pas remonter des milliards de lignes vu qu'il n'y a pas des milliards de decks) il faut passer par 2 requêtes, la 1ère avec un LIMIT/OFFSET pour récupérer la bonne page de résultats (faudra ajouter un ORDER BY sur la date de dernière màj et un index sur ce champ aussi dans ce cas), et la 2nde avec un COUNT pour avoir le total.
Anonyme1
Protection contre les phaseurs, Traversée des *counters*

Légende
le 20/05/2021 17:58
[bluff]C'est exactement, ce que j'allais suggérer ! [/bluff]
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 20/05/2021 18:15
Je vois qu'il y a pas mal d'autres filtres dans le moteur de recherche de decks (MD/SB, format, couleurs, liste de cartes...). Tu passes peut-être par une requête plus générique qui les prend tous en compte, même pour le cas où on vient de la page de la carte. Mais a priori je ne vois pas de filtre qui irait taper dans une autre table que deck (pour les couleurs, le format, le type de deck...) ou deck_card (pour la liste de cartes, et l'aspect MD/SB), donc ça ne devrait pas changer le problème.

Après y a très certainement des subtilités qui m'échappent, mais sait-on jamais.
Marseille, Grèce

Légende
le 20/05/2021 22:58
Citation :
SELECT d.id, d.name
FROM deck d
INNER JOIN deck_card dc ON dc.deck_id = d.id
WHERE dc.card_id = @card_id AND d.is_public = 1


Yep, mais je n'arrive pas à faire fonctionner ça sur plusieurs cartes, genre :
Citation :
WHERE dc.card_id in (@card_id1, @card_id2)

me sort logiquement les decks qui contiennent l'une ou l'autre.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 20/05/2021 23:57
Y a beaucoup de monde qui utilise la recherche de deck en filtrant sur plusieurs cartes ? Perso j'ai jamais utilisé cette fonction, à voir avec des stats si c'est utile de la conserver. Après tu peux aussi limiter le nombre de cartes à N <= 3, et juste faire N requêtes + un ET logique en mémoire.

Sinon tu peux essayer ça, ça a l'air de fonctionner, je pense pas qu'on puisse faire beaucoup mieux niveau syntaxe (à voir au niveau de tes index si tout est OK après).
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 21/05/2021 0:07
(petite coquille dans le 2ème SELECT que le site n'a pas détectée je sais pas trop pour quelle raison, version corrigée)
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 21/05/2021 0:11
Note : j'ai fait sauter la partie public/secret pour rester concis, mais tu peux la remettre à la fin :
Citation :
...
WHERE EXISTS (
...
) AND d.is_public = 1
;
Marseille, Grèce

Légende
le 21/05/2021 0:38
Je vais essayer, mais le group by + having, c'est un peu la version actuelle qui met 15 sec. Va falloir que je monte une convention citoyenne pour décider si on laisse les recherches à plusieurs cartes. Ou mieux, faire 3 requêtes différentes selon qu'on a 0, 1 ou plusieurs cartes.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 21/05/2021 3:04
Si je me base sur l'index des derniers decks postés, tu dois pas avoir plus de 1 000 000 d'entrées dans la table deck, et au pire 100 fois plus dans deck_card (si tous les decks sont des EDH, le pire cas quoi - foutu format moisi). C'est vrai que ça commence à faire beaucoup.

J'ai fait un "petit" test sur une instance PostgreSQL sur mon PC avec cette volumétrie, le schéma de mes exemples, des index sur les clés :
- La requête à 1 carte sans le IN passe en ~ 4 secondes. J'ai testé avec un IN à une carte, c'est pareil.
- La requête à 2 cartes avec le IN et le WHERE EXISTS passe en ~ 40 secondes.
- J'ai testé une 2ème forme de la requête à 2 cartes (avec un INNER JOIN au lieu du WHERE EXISTS), qui s'exécute en ~ 6 secondes.

La durée augmente avec le nombre de cartes dans le IN, mais à 6 cartes ça n'avait toujours pas doublé le temps d'exécution.

Comme j'ai testé avec une volumétrie probablement différente, avec PostgreSQL au lieu de MySQL, et que mon PC portable n'est pas dimensionné pareil que ton serveur de base de données, y a moyen que tes résultats soient un peu différents.
Marseille, Grèce

Légende
le 21/05/2021 16:39
Bon, ça a l'air d'aller mieux pour la recherche de decks. Ne remerciez pas trop Madmox hein, j'aurais bien fini par trouver sans lui d'ici la fin de l'année.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 21/05/2021 19:34
Ça trace sa maman sur tout le site ! En espérant que ça dure.
noskcaj
En Hyrule

le 21/05/2021 19:55
Je te remercie JMB pour la publication de mon article.
Plus qu'à revoir le système de changement d'avatar et t'auras exaucé tout mes souhaits ^^


Une minute.... ça exauce pas 3 souhaits normalement un génie ?
x)
TheFireNight
le 24/05/2021 19:40
J'ai deux suggestions :
La première : ajouter un peu d consistance en bas du site (par exemple le copyright, un texte flavor au hasard, ou même un bouton "retourner en haut de la page"). En effet, il y a actuellement un "bug" très désagréable lorsqu'on passe la souris sur une carte pour obtenir son texte (sous Chrome). Si on est trop bas sur la page, la zone de texte créé un ajout à la taille de la page pour avoir tout le teste. Ceci a pour effet de faire bouger l'emplacement du curseur, et donc retirer le hover de la carte, ce qui fait disparaître le texte. Ce comportement rend parfois très difficile la lecture de la carte sans ouvrir la page de la carte.
Ce comportement est visible sur les liste de combos par exemple.

La seconde serait d'afficher la légalité des cartes sur les pages de deck (par exemple, de la même façon que pour la liste des combos). En effet, il est parfois difficile de savoir pourquoi un deck n'est pas considéré comme légal dans un format. Une autre solution serait de mettre un hover sur les pastilles de légalité pour dire pourquoi le deck n'est pas légal dans le format.
exemple :
[ce deck n'est pas légal en moderne car il ne contient que 59 cartes]
[ce deck n'est pas légal en 1v1 car les cartes suivantes sont bannies : (...) ]
haut de page - Les forums de MV >> Général >> Discussion : page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106
Vous devez être identifié pour pouvoir poster sur les forums.