OVH Community, votre nouvel espace communautaire.

Les transaction "coûtent"-elles cher?


laurent_du_78
22/09/2008, 10h12
Pour répondre à ta première question :
Oui, il est préférable de générer tous les matins une table MyISAM contenant les anniversaires du jour. C'est la notion de Vue matérialisé d'Oracle.
Cela étant dit, si ta table est en MyISAM et si tu as un index sur les colonnes Jour et mois de naissance, cela ne doit pas être trop gourmand.

chedev
09/08/2008, 15h42
Bonjour,

Ayant fait un petit site de jeux en ligne, je cherche bien sûr à l'améliorer en permanence.

Je suppose par ailleurs que l'optimisation du code et des dialogues entre le client (au sens informatique du terme, mon site n'ayant aucune vocation commerciale) et les serveurs d'OVH (qui hébergent fichiers, base de données, ...) doit améliorer les choses.

Mais je n'ai aucune idée du "coût" des transactions en termes d'énergie informatique qu'elles consomment. Et donc de celles qui méritent d'être travaillées afin d'améliorer les performances et donc le confort des utilisateurs.
Ou si le bénéfice à attendre est complètement négligeable.

Deux exemples tout simples:

1) Les anniversaires du jour
Sur la page d'accueil, Alilu (mon site), souhaite un bon anniversaire à ses inscrits qui lui ont communiqué leur date de naissance.
Ce résultat (pas très original, mais bon!) provient d'une triviale requête MySql.
Mais cette requête est effectuée des centaines de fois chaque jour.
Y aurait-il intérêt à ne l'effectuer qu'une fois par jour dans un petit script lancé automatiquement à minuit et qui stockerait dans un coin le nom de ceux qui souffleront leurs bougies dans la journée, puis à aller chercher (le même nombre de fois bien sûr) ce résultat dans le fichier ou dans la table où il aurait été stocké?

2) L'enregistrement des scores des tournois
Un jeu vedette d'Alilu se joue en tournoi avec enregistrement des scores et classement en temps réel.
Pour d'obscures raisons que je ne sais pas maîtriser, il y a de temps en temps des déconnections qui font perdre au joueur le bénéfice de ses brillantes performances: le jeu (en Flash) continue à se dérouler sur le PC du joueur, mais le résultat n'est pas enregistré.
Pour limiter l'impact de ces déconnections (qui sont tout de même peu fréquentes: moins de 1%), j'enregistre le score partiel toutes les 15 secondes.
Pourquoi toutes les 15 secondes? Au pif bien entendu!
Mais là aussi, je ne sais pas si ces transactions (envoi du score partiel, écriture dans une table, retour d'un accusé de réception vers le joueur) encrassent le schmilblick au point d'augmenter le risque de déconnection.
Ou si le trafic sur les autoroutes de l'information est au contraire assez fluide pour que je puisse augmenter la cadence de ces enregistrement partiels (toutes les secondes, ou à chaque clic du joueur par exemple).

Si vous avez une idée ou une expérience là dessus, cela m'intéresse.

Merci d'avance et bon week-end

PS pour les curieux, Alilu et ses tournois, c'est ici