serveurs de sockets en java,perl,php,c++
Accueil L'offre Tarifs YSServer Tutoriaux Support Espace client Forum Legal
serveurs de sockets en java,perl,php,c++
YSServer + Connexions simultanées maxi
your-socket
Bienvenue, Invité. Veuillez vous connecter ou vous enregistrer.
Avez-vous perdu votre courriel d'activation?Bienvenue.
Septembre 04, 2010, 10:37:02

Connexion avec identifiant, mot de passe et durée de la session
Recherche:     Recherche +
De nouveaux tutoriaux sont aujourd'hui disponibles.
1150 Messages dans 138 Sujets par 9690 Membres
Dernier membre: semiaddict
* Accueil Aide Recherche Identifiez-vous Enregistrez-vous
+  your-socket
|-+  Général
| |-+  YSServer
| | |-+  YSServer + Connexions simultanées maxi
« sujet précédent | | sujet suivant »
Pages: [1] Imprimer
Auteur Sujet: YSServer + Connexions simultanées maxi  (Lu 411 fois)
JackBauer
Newbie
*
Messages: 18


Voir le profil
YSServer + Connexions simultanées maxi
« le: Février 12, 2010, 06:15:16 »

Bonjour !

Décidemment, j'adore ce site  Cheesy

Comme je le disais dans un autre post, je bosse actuellement sur un jeu multi en Flash où le serveur ressemble beaucoup au tutorial chat-multi-room, avec en plus : une BDD, pas mal de requetes SQL et des gros messages qui transitent parfois entre le client et le serveur.

Je m'intéresse (un peu tard) au nombre maximum de connectés que mon jeu pourrait supporter avec cette méthode...

J'ai donc vu dans ce post que je pouvais espérer monter au moins à 100 utilisateurs simultanés.
Donc à prioris, suffisant dans un premier temps où le jeu va avoir ses premiers joueurs...

Sauf que je préfère vraiment voir très large Smiley

Avec YSServer, il semble d'après ce post qu'on puisse augmenter largement ce maximum.
D'ailleurs, si je me base sur les chiffres de ce topic, en considérant que 100 connectés simultanés soit la limite d'un serveur simple en php, pour trouver la limite de YSServer, je fais :
LimitYS = (100 / 7.5) * 1326 = 17 000 utilisateurs simultanés maxi !
Ce qui déboite je trouve  Cheesy


Mais bon, comme je fais pas confiance à mon calcul, je préfère poser ces quelques questions ^^
(Désolé j'ai plein de questions  Cheesy)

1. A votre avis, combien d'utilisateurs simultanés maxi YSServer pourrait-il accueillir sans que de gros lags/réponses tardives ne se fassent sentir ?

2. J'ai vu souvent parlé de YSServer V0.1, V1 et V2 (qui aurait une sorte d'équivalent à setInterval). La page YSServer du site parle elle de la V0.1 (bêta). La version téléchargeable est laquelle en fait  Huh Est-ce que la V2 existe ?

3. A l'époque, vous aviez écrit sur ce post que BLABLALAND.com tournait en PERL à 183 CPUL pour 200 connectés. Ensuite, j'ai vu ici que vous étiez logiquement passé à YSServer pour BLABLALAND.com.
Ce serait intéressant d'avoir la différence de CPUL qu'a maintenant BLABLALAND.com pour 200 connectés, grâce à YSServer.

4. YSServer est-il compatible avec linux ?

5. Si j'ai bien compris le principe de YSServer, je n'ai qu'à (en gros) éclater mon fichier server.php dans les 3 fonctions onNewClient, onLostClient et onClientMessage...?
Du coup, la transition "serveur php simple" vers "YSServer" me prendrait au max une journée et je ne serais pas obligé de tout refaire ?? (pitié rassurez moi xD)

J'espère ne pas avoir pondu un pavé de texte inbuvable  Embarrassed

En tout cas, félicitations et merci pour ce site et tout votre travail.
Journalisée
seal3
Administrator
Hero Member
*****
Messages: 504


Voir le profil
Re: YSServer + Connexions simultanées maxi
« Répondre #1 le: Février 12, 2010, 07:16:23 »

Salut !

Pour ce qui est du nombre maxi de connectés ce n'est pas vraiment le nombre de connecté que l'on doit rechercher mais la conso CPU et bande passante.

Si tu as un jeu tout simple qui consiste à faire un click toutes les 10 sec, tu pourras gerer 5000 co sans probleme avec un serveur de base en PHP. Apres il faut voir comment ton script est programmé. Si 1 click lui demande de faire un gros paquets de calculs alors la evidement ca va coincer.


Il n'y aura pas de lag tant que le CPU du serveur tournera en dessous de 100%. Arrivé à 100% evidement le serveur aura du mal à calculer les evenements et la des lags se fairont ressentir.

Le YSServeur n'est plus développé, il n'y aura donc pas d'autre version. D'une maniere générale c'est un outil pratique pour faire rapidement un petit serveur de socket. Mais pour un gros projet il est recommandé de developper son propre serveur (en C++ eventuellement) et installé sur votre propre serveur dédié.

Pour blablaland cela fait longtemps que l'on est justement passé sur un serveur fait en C++ qui tourne sur un gros serveur avec 16Go de RAM et 16 CPU. Aujourd'hui blablaland n'a plus rien a voir avec l'époque ou le tuto à été ecrit.

Le YSServeur de your-socket marche sous linux, mais la version téléchargeable ne marche que sous windows.

En fait pour un projet digne de ce nom tu auras rapidement le besoin de gerer les adresse IP des membres pour la modération par exemple, ou de gerer les attaques au serveur en surveillant les paquets. Voila pourquoi il vaut mieux faire son propre serveur (même si c'est en php en C++ ça change pas grand chose sur le principe.)
Journalisée

Ma signature utilise un compte your-socket afin de dessiner/chatter en temps réel. Etant aussi sur media-box vous y trouverez aussi leurs membres Smiley.
<a href="http://ystutori.your-socket.com/mediabox/dessin.swf" target="_blank">http://ystutori.your-socket.com/mediabox/dessin.swf</a>
JackBauer
Newbie
*
Messages: 18


Voir le profil
Re: YSServer + Connexions simultanées maxi
« Répondre #2 le: Mars 19, 2010, 09:41:56 »

Salut !

Je commence à me demander si je devrais pas faire comme tu dis  Sad

Ce qui me fait un peu peur c'est que j'ai déjà bossé sur des projets C++, mais jamais pour créer un programme de zéro... Et encore moins un serveur ! Et de mémoire, j'étais pas trop à l'aise avec la gestion de la mémoire et le debug sous visual ><
Bref, je me demande si c'est pas un peu trop pour moi...
Après si tu connais une base ou un template de serveur "tout fait", je suis preneur  Cheesy

Sinon, au niveau de la conso CPU et bande passante, comment je peux faire pour vérifier ça et en déterminer le nombre de joueurs max sans que ça lag ?

Mon serveur php tourne sur un serveur linux, malheureusement je suis un peu une bille   Undecided
Si je fais un "top" pour voir la liste des processus actifs, je vois uniquement les premiers résultats (pas moyen de descendre plus bas)...

Mais dans l'idée, pour le CPU, est-ce que la méthode c'est juste ça :
Par exemple, si je sais que sur mon jeu il y a 10 connectés... Je vais alors tapper la commande top dans la console, ensuite je me débrouille pour atteindre la ligne du process de mon serveur... Là je verrai par exemple 20 % de consommation CPU, donc je pourrai en déduire que mon serveur peut supporter max 50 joueurs ?

Par contre au niveau de la bande passante... J'ai aucune idée de comment savoir ça  Huh

Merci beaucoup de ta réponse en tout cas.
« Dernière édition: Mars 19, 2010, 09:44:14 par JackBauer » Journalisée
seal3
Administrator
Hero Member
*****
Messages: 504


Voir le profil
Re: YSServer + Connexions simultanées maxi
« Répondre #3 le: Mars 19, 2010, 10:31:55 »

Salut !

Pour le C++, j'ai simplement utilisé borland sous windows et g++ sous linux. Je code directrement sans aucune interface. C'est sur qu'il ya à travailler un peu mais finalement c'est pas si compliqué.

Pour les ressources CPU, oui tu peux faire comme ça avec la commande 'top' mais à mon avis tu ne veras pas grand chose avant 50 ou 100 connectés simu. Apres cela depend de comment tu as programmé le serveur et ce que font les utilisateurs.

Pour la bande passante, tu peux toujours incrementer une variable côté serveur qui compte le nombre d'octets envoyés, c'est pas tres compliqué à mettre en place. Sinon tu dois bien avoir un moyen pour mesurer la bande passante utilisée sur ton serveur.
Journalisée

Ma signature utilise un compte your-socket afin de dessiner/chatter en temps réel. Etant aussi sur media-box vous y trouverez aussi leurs membres Smiley.
<a href="http://ystutori.your-socket.com/mediabox/dessin.swf" target="_blank">http://ystutori.your-socket.com/mediabox/dessin.swf</a>
JackBauer
Newbie
*
Messages: 18


Voir le profil
Re: YSServer + Connexions simultanées maxi
« Répondre #4 le: Mars 19, 2010, 01:57:58 »

Ok, merci beaucoup pour tes conseils.
Je vais essayer tout ça dès que possible.

En attendant, je pensais au moins optimiser mon serveur php en l'allégeant de manière à ce que les clients passent par lui uniquement lorsqu'il peut y avoir besoin de notifier les autres joueurs.

Du coup, pour ce qui est des requêtes "solo" (qui ne concerne aucun autre client) du genre acheter un item ou rendre une quête, le client n'enverrait plus de message au serveur php mais appellerait un script php tout simple avec un code du genre :
MyLoadVar.load( "http://www.monsite.com/monscript.php" );

A prioris, tu penses que c'est déjà une bonne chose à faire ?
Journalisée
seal3
Administrator
Hero Member
*****
Messages: 504


Voir le profil
Re: YSServer + Connexions simultanées maxi
« Répondre #5 le: Mars 22, 2010, 01:03:09 »

Alors ça dépend en fait.

Appeller un script php c'est assez gourmand en ressource serveur, il faut lire le fichier, le charger en RAM, le vérifier et l'executer. Sans parler du processus apache qui se lance derriere pour appeller le script. Le serveur php lui est déja en cours d'execution. Par contre un serveur possedant plusieurs CPU pourra executer en // plusieurs appels au script php via apache alors que le process socket du script php lui, ne tourne que sur un seul thread. C'est un choix. Perso je pense q'effectivement il vaut mlieux economiser le script socket.
Journalisée

Ma signature utilise un compte your-socket afin de dessiner/chatter en temps réel. Etant aussi sur media-box vous y trouverez aussi leurs membres Smiley.
<a href="http://ystutori.your-socket.com/mediabox/dessin.swf" target="_blank">http://ystutori.your-socket.com/mediabox/dessin.swf</a>
Pages: [1] Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  

Propulsé par MySQL Propulsé par PHP your-socket | Propulsé par SMF 1.0.5.
© 2001-2004, Lewis Media. Tous droits réservés.
XHTML 1.0 Transitionnel valide! CSS valide!

serveurs de sockets en java,perl,php,c++
serveurs de sockets en java,perl,php,c++