Sessions ou MySQL ? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Sessions ou MySQL ? (/showthread.php?tid=5008) Pages :
1
2
|
RE: Sessions ou select mysql? - php_addict - 08-09-2010 (08-09-2010, 10:11 PM)niahoo a écrit : Il te faut faire un benchmark pour simuler les deux solutions avec 1000 utilisateurs en simultané. et tu simule comment 100 utilisateurs? RE: Sessions ou select mysql? - Sephi-Chan - 08-09-2010 En les ayant… Tant que tu ne les as pas, ce n'est même pas la peine de s'intéresser à de telles solutions. Quand on a besoin de stocker des choses qui sont très souvent consultées, le mieux est d'utiliser une solution de stockage en mémoire comme Redis ou Memcached. C'est fait pour et c'est largement éprouvé. Bien sûr, il faut un serveur dédié, très accessibles de nos jours. Sephi-Chan RE: Sessions ou select mysql? - Anthor - 08-09-2010 Il existe plusieurs logiciels pour simuler la charge sur un serveur : http://httpd.apache.org/docs/2.0/programs/ab.html http://jakarta.apache.org/jmeter/ RE: Sessions ou select mysql? - php_addict - 08-09-2010 et quelle est la différence entre un Memcached et l'utilisation de Table memory Heap mysql ? (hormis qu'il n'y a pas de différence et qu'il faille un dédier...) pour le moment je n'ai pas 10000 joueurs il n'y a que moi... RE: Sessions ou select mysql? - Sephi-Chan - 08-09-2010 Et bien MySQL est une base de données relationnelle alors que Redis et Memcached sont des systèmes de stockage par clé/valeur. En gros, ta base de données Redis (ou Memcached) est un tableau associatif alors que MySQL est une base de données interrogée via SQL. Sephi-Chan RE: Sessions ou MySQL ? - niahoo - 08-09-2010 non mais un benchmark ça sert juste à comparer des algorythmes, des types de requetes et/ou d'accès aux données, etc.. je ne te propose pas de créer un super bot qui joue à ton jeu et d'en lancer 100 (quoique...) mais par exemple tu fais un petit script en python qui lance 100 threads qui vont chacune faire une requete aléatoire parmi une pioche de requêtes prédéfinies et qui vont appeler ton script en faisant une requête sur le port 80 à l'adresse 127.0.0.1. Et ce script, la première fois tu lui fais faire tirer ses infos de la session, et la fois suivante tu lui fais tirer de la base SQL. Dans les deux cas la réponse doit être la même. tu compare le temps que ça à mis au total dans ton script python pour chaque type de script php. ensuite tu recommences mais en inversant l'ordre des deux types de scripts, puis tu recommences le tout en "restartant" apache (ou autre serveur) avant chaque test, etc.. à la fin tu verras ce qui est le plus rapide. Mais ça évidemment ça ne simule pas des joueurs, ceci dit tu es libre d'implémenter le script d'appel et donc de lui faire faire potentiellement tous les actes d'un joueur normal. C'est ce que je ferais. Ensuite, les outils proposés par Anthor font peut-être ce genre de choses en mieux, je te suggère vivement d'aller voir. RE: Sessions ou MySQL ? - Sephi-Chan - 09-09-2010 Pour simuler les actions des joueurs, tu peux utiliser des outils de tests comme Selenium. Mais bon, de toute manière c'est bidon comme solution, donc pas besoin de la tester. Ce serait bête de faire reposer ton jeu sur ce genre de fondations. Sephi-Chan |