256 ou 512 Mo pour un serveur Web

12

Je prévois d'acheter un Raspberry Pi, un de mes collègues a encore 256 Mo. Mais je ne sais pas si 256 Mo de mémoire peuvent remplir les choses que je veux exécuter.

Je veux exécuter un serveur Web Apache (ou un autre serveur Web qui utilise moins de RAM et de CPU) avec PHP et MySQL, un serveur FTP et un proxy SOCKS 5. Sur le serveur Web, je vais exécuter:

  • un forum Vbulletin avec 8 utilisateurs
  • Un jeu que je développe en ce moment.

Lorsque le jeu est prêt, je pourrais déplacer le forum ou le jeu vers une autre framboise quand il est trop lourd. Je garde le jeu aussi petit et rapide que possible. Par exemple: je vais traiter tous les travaux de mise à jour avec C ++. Mais quand le jeu est assez grand pour gagner de l'argent avec lui, je veux acheter un serveur normal si cela donne un coup de pouce aux performances. Mais je veux expérimenter avec le Pi pendant un certain temps.

Ma question est donc la suivante: dois-je acheter un nouveau modèle B de 512 Mo, ou simplement acheter la version b de 256 Mo de mon collègue?

Laurence
la source

Réponses:

12

Il n'y a pas de réponse définitive à cela, car cela dépend vraiment des performances dont vous avez besoin, de la complexité de votre application, etc.

Il vaut toujours mieux avoir plus de mémoire, juste pour être en sécurité. N'oubliez pas que vous n'obtiendrez jamais 256 Mo de RAM complets pour Linux, le meilleur que vous puissiez obtenir est de 240 Mo, car le reste sera alloué au GPU (et vous devriez vraiment utiliser cette répartition dans votre charge de travail). 240 Mo, ce n'est pas beaucoup, mais d'un autre côté, il y a beaucoup de fournisseurs de services VPS qui fournissent des VPS (qui sont des serveurs privés virtualisés) avec 256 Mo de RAM et les gens gèrent de très gros sites sur ces machines, donc c'est certainement possible.

Vous pouvez définir une limite de mémoire disponible pour le site PHP et sur de nombreux services d'hébergement partagé, elle est définie sur 8-16 Mo par site. Et beaucoup d'applications peuvent fonctionner très bien avec cela. MySQL possède de nombreuses options de configuration qui peuvent être utilisées pour limiter son utilisation de la mémoire et vous pouvez très facilement l'exécuter avec 64 Mo (ou même moins) de mémoire. Le serveur Web Apache n'a pas trop de mémoire et il existe des alternatives encore plus légères. Nous pouvons ignorer les serveurs FTP et SOCKS car ils prennent très peu de mémoire (au moins lorsqu'ils ne sont utilisés que par quelques utilisateurs).

La base de données est donc le plus gros problème ici. N'oubliez pas que plus le serveur de base de données a de mémoire, plus il obtiendra de meilleures performances (il l'utilise principalement pour les caches pour sécuriser les E / S de disque). Sur les sites très fréquentés, le serveur de base de données dispose de suffisamment de mémoire pour conserver (presque) toute la base de données en mémoire. Vous n'aurez probablement pas besoin de cette bonne performance. RaspberryPi n'a pas de stockage trop rapide (il est 5 à 10 fois plus lent que sur des ordinateurs à part entière, même sans RAID), donc vos performances seront vraiment lentes quand il atteindra le stockage. En continuant les VPS déjà mentionnés - ils ont des solutions de stockage beaucoup plus rapides dans la plupart des cas, mais ils partagent également ce stockage avec de nombreux autres VPS (souvent 16 ou même 32), donc ce n'est souvent pas mieux que celui sur RaspberryPi. Et encore une fois, de nombreux sites fonctionnent avec bonheur sur ces serveurs.

Donc, pour résumer - vous devriez être parfaitement bien avec 256 Mo de RAM, mais vous devrez modifier certaines options de configuration pour réduire l'utilisation de la mémoire. Il devrait être facile de trouver des didacticiels à ce sujet sur Internet, en particulier lorsque vous recherchez des articles sur l'optimisation du serveur pour une utilisation VPS, etc. Si vous ne prévoyez pas d'utiliser quelque chose qui nécessite plus de mémoire à l'avenir et peut économiser de l'argent en achetant Version 256 Mo de RaspberryPi, ça peut valoir le coup. Et vous pouvez acquérir des compétences intéressantes comme la conception de votre application afin qu'elle utilise moins de mémoire ou la configuration de votre système pour avoir besoin de moins de mémoire. Ces compétences pourraient être payantes à l'avenir.

Krzysztof Adamski
la source
Merci pour la bonne réponse. C'est en effet un très bon moyen d'apprendre à développer de bonnes applications. Merci beaucoup. Je vais chercher le 256. J'ai trouvé de nombreux didacticiels pour le faire: squidoo.com/optimizing-mysql-for-vps-dedicated-server wiki.vpslink.com/Low_memory_MySQL_/_Apache_configurations supportcenter.verio.com/KB/questions.php?questionid=267 serverfault .com / questions / 29126 /… my.opera.com/floweringmind/blog/…
Laurence
1
@Laurence: Je sais que c'est une chose évidente mais rappelez-vous juste qu'il est bon de savoir aussi pourquoi vous devez changer certaines valeurs et ce qu'elles font si vous voulez vraiment apprendre quelque chose d'utile. Certaines valeurs sont simplement copiées et collées à partir d'autres sites sans trop réfléchir et peuvent ne pas être optimales pour vous.
Krzysztof Adamski
J'appuie @Laurence qui, se développer sur des systèmes aux ressources limitées, peut être une bonne pratique. J'avais l'habitude d'écrire des logiciels sur des plateformes avec 64 Ko disponibles pour les applications et 64 Ko pour les données. Vous seriez étonné de ce que les gens pourraient faire avec ça. Même le prédécesseur du logiciel de navigation TomTom a été écrit dans ces limites. De nos jours, les développeurs ont tendance à devenir paresseux, avec pour conséquence d'énormes empreintes de mémoire. Je choisirais le modèle 256 Mo comme une question de limites forcées.
EDP