JeuWeb - Crée ton jeu par navigateur
PHP MySQL jeu Asynchrone et nombre de requetes - 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 : PHP MySQL jeu Asynchrone et nombre de requetes (/showthread.php?tid=3743)

Pages : 1 2


PHP MySQL jeu Asynchrone et nombre de requetes - yodark - 01-03-2009

Bonjour à tous !

J'ai une petite question
Je voudrais savoir combien d'utilisateurs simultané peut supporter une application en PHP faisant des requêtes mySQL sur un hébergeur mutualisé (www.infomaniak.com) ?

J'explique mon problème, j'ai actuellement un jeu écrit en PHP qui se joue en multijoueurs ou contre l'ordinateur. Les parties contre l'ordinateur ne me font pas souci mais les parties multijoueurs c'est plus compliqué.
En effet en multi le status et les variables de la partie sont stockés dans une base MySQL. Toutes les 3 secondes (ou plus) le système appelle une page qui va aller chercher le status actuel de la partie dans la base de données.

Et comme je prévois une expansion du jeu je me demande si le serveur pourra supporter ça... Donc si 3000 joueurs sont connectés il y aura 1000 requêtes par secondes, c'est viable ça ? Quel seraient les solutions (répartir la charge sur plusieurs bases, ne pas utiliser mySQL) ?


RE: PHP MySQL jeu Asynchrone et nombre de requetes - phenix - 01-03-2009

Sa dépend du serveur sur lequel tu es, du nombre de requête moyenne par page, et du nombre de page vue par les utilisateurs.

En gros, si tu as 3000 joueurs, mais qu'il ne font chacun qu'une seul page avec 3 requêtes par jour, un mutualisé de bonne qualité tiendra le coup.

Si par contre tu as 3000 joueurs qui font 20 page avec 10 requêtes, tu devrais penser a prendre un serveur dédié... (Mais avec 3000*20 pages, y a moyen de bien rentabilisé de la pub ^^)

Citation :Et comme je prévois une expansion du jeu je me demande si le serveur pourra supporter ça... Donc si 3000 joueurs sont connectés il y aura 1000 requêtes par secondes, c'est viable ça ? Quel seraient les solutions (répartir la charge sur plusieurs bases, ne pas utiliser mySQL) ?

Techniquement, je pense qu'une machine ne peu supporté une telle charge... Mais tu n'aura jamais 3000 personnes connecter en même temps... Avec 3000 joueurs tu devrait tourné autour de 10/20 en simultané


RE: PHP MySQL jeu Asynchrone et nombre de requetes - Holy - 01-03-2009

(01-03-2009, 02:12 PM)phenix a écrit : Techniquement, je pense qu'une machine ne peu supporté une telle charge... Mais tu n'aura jamais 3000 personnes connecter en même temps... Avec 3000 joueurs tu devrait tourné autour de 10/20 en simultané
Ca dépend sérieusement du type de jeu Wink

J'ai à peine 54 inscrits à ma bêta, et on est toujours une petite dizaine de connectés (http://www.terresdecy.com).


RE: PHP MySQL jeu Asynchrone et nombre de requetes - yodark - 01-03-2009

A partir de combien de joueur simultané (= 1 requete toutes les 3 secondes) le serveur peut saturer ? Si il peut tenir 100 joueurs je penx rester sur mon serveur mutualisé ce qui me laisse le temps d'anticiper au cas ou le jeu serait un succès. Le produit est un jeu de cartes tours par tours comme urban rivals. Donc un beaucoup de requetes sont effectués pour lire si le joueur à joué son tour.


RE: PHP MySQL jeu Asynchrone et nombre de requetes - Holy - 02-03-2009

(01-03-2009, 11:35 PM)yodark a écrit : Donc un beaucoup de requetes sont effectués pour lire si le joueur à joué son tour.
T'es pas obligé de faire de requêtes pour ça. Un bête système de fichier en flags est suffisant.


RE: PHP MySQL jeu Asynchrone et nombre de requetes - yodark - 02-03-2009

okay si je fais un system de flag je pourrais même le faire sur un autre serveur pour économiser la charge.

Tu entends system de flag en écrivant dans un fichier par exemple ayant pour nom l'id du joueur avec l'information "à joué" ?

Ok alors avec un système comme ça avec un serveur ne gérant que ça il pourrait supporter 500 joueurs ? = env 166 requêtes seconde


RE: PHP MySQL jeu Asynchrone et nombre de requetes - Anthor - 02-03-2009

Ça ne se compte pas comme ça... Ça dépend de énormément de paramètres, certains sur lesquels tu peux agir d'autres sur lesquels tu ne peux pas.
Sans avoir plus d'informations personne ne pourra te répondre, déjà sur des configuration ou tous les paramètres sont maitrisés il est très difficile de le savoir.


RE: PHP MySQL jeu Asynchrone et nombre de requetes - yodark - 02-03-2009

ok donc Oxman man tu pense que pas de différence si le serveur utilise une base mySQL ou si le status est écrit dans un fichier. 50 ça fait peu... Donc selon vous il faudrait tout de suite prendre un serveur dédié... Ou bien faut-il trouver carement une autre technologie que PHP ?


RE: PHP MySQL jeu Asynchrone et nombre de requetes - yodark - 02-03-2009

je comprends pas bien ce que tu veux dire ? tu es ironique ? Tu veux dire qu'écrire dans un fichier vaut la même chose que des requetes SQL ?

Si au contraire écrire dans un fichier est moins cher en bande passante alors dans ce cas ça sera plus que 50 ? Donc 500 ?


RE: PHP MySQL jeu Asynchrone et nombre de requetes - Holy - 03-03-2009

T'as même pas besoin d'écrire dedans, tu crées un fichier ayant l'id de ton joueur ^^

T'as un dossier: ./flag/

Et dedans, dés que le joueur a joué, tu crées un fichier avec son id comme nom.

Ensuite tu supprimes le fichier lorsque c'est à son tour (si le jeu se joue à deux, lorsque l'adverse finit son tour).

C'est moins gourmand en ressource vu que le script vérifie juste la présence du fichier.