JeuWeb - Crée ton jeu par navigateur
Capacité d'un serveur et monitoring - 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 : Capacité d'un serveur et monitoring (/showthread.php?tid=1971)



Capacité d'un serveur et monitoring - Astarion - 06-03-2013

Bonjour,

Je me demandais comment déterminer la capacité d'accueil d'un serveur, sachant que dessus j'ai un simple serveur Apache, Mysql et Node.js
La volumétrie de données n'est pas vraiment un problème et en partant du principe que la BDD et les requêtes sont optimisées, comment déterminer le nombre de joueurs maximum ?

Question annexe, faut-il "monitorer" son serveur, si oui avec quoi et que surveiller ?

Merci d'avance pour vos réponses !


RE: Capacité d'un serveur et monitoring - niahoo - 06-03-2013

IL te faut simuler les joueurs : lancer un script qui fait des requêtes vers ton serveur, et voir à quel moment il se retrouve sur les genoux.


RE: Capacité d'un serveur et monitoring - Astarion - 06-03-2013

D'accord, le script doit faire quelques choses en particulier ou simplement requêter sur une page ?
Tu utilises quoi comme techno pour simuler cela ?

Merci d'avance !


RE: Capacité d'un serveur et monitoring - Ter Rowan - 06-03-2013

(06-03-2013, 11:24 AM)Astarion a écrit : D'accord, le script doit faire quelques choses en particulier ou simplement requêter sur une page ?
Tu utilises quoi comme techno pour simuler cela ?

Merci d'avance !

le script doit simuler le comportement des joueurs

donc premier niveau tu fais des tests page par page (je charge une page n fois en //, de même je submit n fois un formulaire en //) mais ce n'est pertinent que s'il n'y a pas d'ajax, de push, d'interactivité

d'où le second niveau, tu scriptes n comportements de joueur:

exemple :

- le joueur se connecte, il regarde ses mails, il lance un entrainement, une production, et s'en va.
- le joueur se connecte, poste trois memos sur le forum, tchat avec un autre, lance une production, attaque un autre joueur, ouvre un second onglet pour suivre sa production, etc...
- script 3
- ...
- script n

et tu multiplies tout cela par n utilisateurs d'un script par 100, par 1000, par 10000


je n'ai pas de nom de logiciel pour scripter tout cela


RE: Capacité d'un serveur et monitoring - Astarion - 06-03-2013

Ok, bien compris pour le principe de fonctionnement, merci, maintenant faut trouver le bon truc pour faire tout ça :o


RE: Capacité d'un serveur et monitoring - niahoo - 06-03-2013

Une piste simple : Tu joues à ton jeu et tu dis à ton serveur de logger toutes les requêtes. ensuite, tu utilises un script bash qui va répéter toutes ces requêtes en boucle.

Pour trouver les requêtes, tu peux simplement mettre firebug en mode persistant, jouer 5 minutes puis copier-coller toutes les URL et leurs paramètres POST et GET puis faire le script qui va les répéter. Il te faudra également dire à ton script de picocher des nombres entre 1 et X pour l'id du joueur de chaque requête.

SI tu galères trop avec les cookies d'authentification ou de session dans ton script tu peux désactiver la vérification du login, mais rappelle toi que ça va améliorer les perf de ton appli.

Mais bon dans tous les cas il vaut mieux avoir un cluster de PC pour faire ça car avec ta connexion chez toi tu vas avoir du mal à surpasser le serveur Smile

Sinon tu peux lancer X fois les mêmes requêtes avec autobench


RE: Capacité d'un serveur et monitoring - Astarion - 06-03-2013

Ok merci, jvais tester tout ça ! Smile


RE: Capacité d'un serveur et monitoring - starmindfr - 06-03-2013

bijour question annexe la dessus, avec un hébergement distant, y a t'il un petit programme / script pour arriver a remonter des informations sur la charge processeurs / mémoire max afin de voir si l'on commence a saturer le système ou si un autre site le sature de temps en temps ? car j'ai des erreurs "503 serveur non disponible" j'essaye donc de voir si c'est moi ou un autre hébergé qui fait ramer le tout :cogne: