4 votes

Quelle configuration de VPS serait la meilleure ?

J'ai actuellement un VPS chez HostingRails.com, et je suis plutôt déçu par le service, j'ai donc envisagé de passer à linode à la place. J'ai trois applications Rails (mon application live, la version QA de l'application live, et une application redmine ) fonctionnant sur Passenger sur Apache, une installation de phpbb, et une base de données mysql fonctionnant actuellement sur mon VPS qui prend au total environ 400MB de RAM à l'heure actuelle.

J'essaie de savoir s'il est préférable de prendre un nœud de 720MB et de tout y mettre, ou de prendre deux nœuds de 360MB et d'avoir le site live sur l'un et le site QA et redmine sur l'autre (dans ce cas, suggéreriez-vous deux bases de données séparées, une pour chaque nœud) ? On m'a suggéré que séparer mes applications serait une bonne idée, mais je ne sais pas si c'est vrai ; je me dis que si j'ai un seul noeud, si l'application live a besoin de plus de mémoire, elle peut prendre sur les 360MB qui ne seraient probablement pas entièrement utilisés par mon installation QA et redmine.

De plus, j'ai actuellement mon SVN (1 projet actif, quelques projets inactifs, deux utilisateurs) hébergé sur Dreamhost parce que j'avais payé pour un plan à l'avance et j'ai laissé mon SVN là au lieu de le déplacer sur mon VPS. Est-ce que le fait de déplacer le SVN vers linode affecterait votre réponse ?

3voto

Jeremy Points 1917

Avec deux nœuds, si vous disposez de la même quantité de mémoire, vous obtenez également deux fois plus de temps CPU et de jetons IO.
SVN pourrait fonctionner dans la même instance d'Apache que Passenger, sans que les performances n'en pâtissent trop.

Par ailleurs, vous pourriez envisager une configuration différente : un nœud de base de données et un nœud de serveur web. Aucun des deux ne serait sous-utilisé (apache est assez lourd, après tout), et, s'ils étaient dans le même centre de données, vous pourriez pointer les deux IP publiques vers le nœud du serveur web (Linode le permet), et le laisser communiquer avec le nœud de la base de données à travers le LAN de Linode (en évitant les quotas de transfert).

3voto

vic the belly Points 11

D'après l'expérience que j'ai acquise en fournissant un hébergement géré à quelques entreprises basées sur Rails, il s'est toujours avéré efficace de séparer la base de données et l'application (comme le souligne fahadsadah).

Toutefois, je ne ferais pas fonctionner Apache et nginx sur la même machine, surtout dans un environnement vps aux ressources limitées. Comme on l'a déjà dit, Apache lui-même est assez lourd, mais il peut gérer tous vos besoins en passenger, svn, php. Je n'ajouterais donc pas nginx au mélange. Après tout, c'est un logiciel de plus qui doit être maintenu (configuré, mis à jour/patché, etc.).

Par ailleurs, j'ai personnellement tendance à no héberger mon code source dans la même installation que celle sur laquelle fonctionne mon application. Je suis assez confiant dans la robustesse et la sécurité de notre code, mais si quelqu'un parvient à se frayer un chemin à travers l'application et sur le serveur, il aura également un accès complet à notre code source. Et vos données et les révisions de votre code sont probablement la dernière chose sur laquelle vous souhaitez qu'un pirate mette la main...

Je sais que c'est une publicité éhontée, mais mon entreprise propose un hébergement groupé de Redmine et SVN sous la marque Planio . Il devrait y avoir d'autres services comme Planio, afin que vous puissiez faire un choix. Mon principal conseil est le suivant : essayez de déléguer l'hébergement des systèmes de soutien à des parties externes de confiance et concentrez vos efforts d'hébergement sur votre cœur de métier (c'est-à-dire votre application).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X