Minecraft : pourquoi pas d'offre ram et/ou slots illimités ?

Slots illimités, la fausse bonne idée

 

Nous avons toujours fait le choix de vous décharger au maximum des considérations techniques pour vous permettre de profiter le plus simplement de nos services, le tout avec une qualité toujours plus au centre de nos préoccupations.

Ainsi, il est tout naturel de définir pour vous les limites de chaque produit/service que nous fournissons, de sorte que vous n'ayez pas besoin d'avoir à craindre une surcharge (sauf utilisation excessive de plugins buggés ou maps en trop grand nombre).

Aussi il faut comprendre que supporter plusieurs dizaines de slots requiert déjà une grosse puissance, il est dès lors impossible de supporter dans des conditions acceptables + de 100 joueurs sur un serveur s'il n'est pas hébergé de manière spécifique où la puissance sera toujours au rendez-vous.

Pour réunir ce genre de conditions, les coûts de production d'un serveur sont nettement plus élevés que des serveurs "low cost de masse", la différence de prix a donc bien une raison d'exister.

 

Lorsque vous souscrivez un serveur Minecraft chez mTxServ, vous serez donc certain qu'avec une configuration correcte, il sera à même de tenir le nombre de joueurs qui est souscrit, tout simplement !

 

RAM illimitée, la promesse marketing

Il existe chez d'autres hébergeurs des offres RAM et slots illimités mais celles-ci ne sont au final que des promesses marketing auxquelles nous ne souhaitons pas répondre.

Promettre des slots illimités et des ressources illimitées est d'une part un mensonge marketing et d'autre part un risque concernant la qualité que nous ne prendrons jamais, préférant garantir une qualité toujours optimale quelles que soient les conditions.

Au-delà de l'aspect marketing de l'illimité, des prix trop bas cachent bien souvent une mutualisation très importante d'une infrastructure. Le taux de mutualisation d'une machine (= serveur au sens physique) est alors une prise de risque : plus vous hébergez de serveurs de jeux sur une même machine, plus le risque que la machine consomme toutes ses ressources simultanément est grand.

Chez mTxServ, ce risque de baisse de qualité n'existe pas :)


Allocation ≠ réservation

Derrière ces termes se cachent 2 méthodes de travail totalement différentes. Lorsqu'on parle de RAM, il faut bien distinguer l'allocation à la réservation :
- allocation : donner une quantité de mémoire de démarrage et une limite à ne pas dépasser
- réservation : même concept que l'allocation, à la différence près que la mémoire maximale peut toujours être atteinte

 

Quelle différence ?

Dans un contexte de serveurs illimités en RAM, bien souvent le terme illimité joue sur le fait que la limite maximale de prise de RAM est très élevée. Disons que sur une machine dotée de 128Go de RAM, les serveurs Minecraft puissent prendre jusqu'à 32Go de RAM. Pour rentabiliser le coût d'une machine musclée, l'hébergeur devra allouer plus de serveurs que la limite réelle de RAM. Avec 32Go de mémoire, 128Go ne représenterait que 4 serveurs Minecraft, économiquement pas très réaliste...


Ainsi, l'hébergeur va sur-allouer les ressources et ainsi mettre éventuellement 40 serveurs (pour dégager un peu de bénéfice) qui pourront tous prendre jusqu'à 32Go soit 32 x 40 = 1280Go d'allocation.

 

Dans les faits, il sera rare que tous les serveurs atteignent cette limite, cependant dans cet exemple, il suffit que 4 serveurs sur 40 (soit 10% des serveurs Minecraft de la machine) l'atteignent pour que la machine ait sa mémoire complètement saturée.

 

Cet exemple, bien que simplifié en terme de chiffres, montre la réalité de ces offres pleines de promesses mais surtout... pleines de risques !

 

La réservation dans tout ça ?

Chez mTxServ, la donnée est simple. Nous avons en production des machines dotées de 128Go de RAM et nous n'allouons jamais plus de 128Go. Ainsi, si nous prenons l'exemple de serveurs de 4Go, il y aura toujours moins de 32 serveurs hébergés sur de telles machines, empêchant tout remplissage effectif de la mémoire de la machine.

On parle ainsi de ressources réservées, indiquant que même dans un scénario où tous les serveurs Minecraft viendraient à consommer leurs ressources, la machine est capable de les fournir en temps réel. Un gage de qualité exclusif dont tous nos produits disposent !

 

Aucun risque de dégradation de qualité, mais encore ?

Nos machines disposent de système d'exploitation Linux, bien gérer la mémoire est très important pour 2 raisons :
- une mémoire vive pleine conduit à l'utilisation de la mémoire appelée "SWAP" qui est stockée sur disque dur. Cette mémoire destinée à palier la RAM pleine est très lente, limitant les performances...
- la mémoire vive peut aussi servir de cache disque sur Linux, ce cache disque permet un accès rapide aux données les plus fréquemment utilisées sur le stockage. Ce cache est beaucoup plus rapide que les disques durs, même plus performant que les SSD les plus récents !

 

Ainsi, avoir toujours de la RAM libre est très important, chez mTxServ c'est toujours le cas, assurant les meilleures conditions, 100% du temps :)

 

Puissance CPU, la donnée oubliée de l'équation

Un serveur Minecraft est plus bien plus que quelques centaines de Mo ou plusieurs Go de RAM, c'est aussi et surtout un besoin de puissance processeur important pour assurer de bonnes condition de jeu aux joueurs présents sur le serveur.
Il est bien plus aisé de doubler la quantité de RAM d'une machine (ou PC) que sa puissance processeur, c'est ainsi l'élément le plus limitant dans un contexte d'hébergement mutualisé de services comme le notre.

Inutile de préciser que la notion de CPU illimité n'existe pas non plus et que cette ressource plus "rare" est celle qui fera défaut en cas de sur mutualisation.

Chez mTxServ, le ratio CPU/RAM de nos machines est très pris au sérieux. Ainsi, contrairement à nombre de nos concurrents, nous n'avons pas de machines dopées en RAM bourrées de serveurs Minecraft aux dépens de la puissance CPU (qui peut faire défaut avec quelques serveurs "voisins" qui surconsomment).
Encore une fois, nous avons fait le choix qu'en cas de pic de charge sur l'ensemble des serveurs d'une machine, tous puissent bénéficier de conditions de jeu exemplaires.

Comment sont sélectionnés les processeurs utilisés dans les machines utilisées par mTxServ ?

Plutôt que faire le choix d'avoir de monstrueuses machines bourrées de RAM mais avec une puissance CPU limitée, nous faisons le choix de machines plus petites équipes de processeurs Xeon 4 coeurs (8 coeurs logiques) mais dont la puissance au coeur est très importante.
En effet, Minecraft étant peu ou mal multi-threadé (= principe d'utiliser plusieurs coeurs pour un même processus/serveur), il est préférable de préférer avoir des coeurs processeur plus puissants individuellement.

Ce choix nous permet d'avoir un rapport entre puissance CPU et RAM très en faveur de la puissance de calcul, afin de toujours mieux traiter les demandes des serveurs Minecraft que nous hébergeons.

Concrètement, mieux vaut un serveur hébergé sur une machine disposant de 4 coeurs Xeon dernière génération de 3,4Ghz plutôt que de 8 voire 8x2 coeurs de 2,4Ghz de même génération. Bien entendu, économiquement parlant, cette solution est bien plus coûteuse car permet moins de mutualisation (= moins de serveurs par machine).

Gestion fine des ressources = haute qualité

Notre travail, au-delà du simple hébergement est de tailler des serveurs sur mesure afin d'apporter une réelle valeur ajoutée. Attribuer des ressources de manière responsable à chaque serveur en fonction d'une offre bien définie, c'est s'assurer que le produit fonctionnera parfaitement dans 100% des cas (hors mauvaise configuration).
Que vous preniez un serveur 2 slots ou un 200 slots, les ressources seront toujours au rendez-vous pour traiter les données du jeu, même serveur plein avec mods et plugins.

De plus, notre architecture de serveurs pleinement physiques (pas de VPS, pas de virtualisation) assure une réelle qualité mais ne permet pas d'adopter une telle flexibilité niveau ressources matérielles.
Néanmoins, cette architecture permet d'assurer une qualité inégalée sur le marché des serveurs de jeux en France, reconnue depuis déjà plusieurs années !

Pourquoi d'ailleurs ne pas héberger les serveurs sur du VPS ?

Nos machines sont dotées de noyaux Linux fortement optimisés pour réduire au maximum les "latences" des appels système. Plus concrètement, un calcul exigé par un serveur de jeu sera nettement plus court que la moyenne. Ces optimisations ne sont pas possibles à un tel niveau avec une couche de virtualisation où les calculs passent par une étape de plus que sur un serveur physique classique.
C'est donc un choix purement qualitatif, qui exige une organisation plus rigoureuse niveau répartition des serveurs sur nos machines !

Comment sont répartis les serveurs sur les machines mTxServ ?

Lorsqu'un serveur doit être livré, notre système exclusif détermine au moyen de quelques données les machines disposant d'assez de ressources à réserver pour le nouveau serveur. La règle étant, comme décrit précédemment, que les ressources doivent être réellement disponibles pour répondre favorablement au principe de réservation des ressources rigoureux que nous avons mis en place.

Concrètement sur Minecraft, 2 plateformes distinctes (= types de machines) sont en production :
- serveurs de 2 à 75 slots
- serveurs de 125 et 250 slots

A chaque offre est déterminé un coefficient de ressources précis, suite à de nombreuses heures de tests, système unique en son genre :)