Bonjour à tous,

Débutant sur Ruby on Rails, j'essaie de me configurer un bon environnement de développement.
Dans le cadre de mon travail je participe au développement d'une application Rails 3 et Ruby 1.9.2 avec pas mal de gems qui datent un peu.
Jusque là je travaillais sur Ubuntu mais j'aimerais à terme pouvoir bosser sur Windows.

J'ai bien essayé de déployer cette application directement sous Windows mais impossible d'installer toutes les gems.

Naturellement je me suis tourné vers Vagrant qui semble être la solution idéale pour pouvoir bosser sous Windows. Après quelques recherches et essais infructueux j'ai finalement réussi à installer l'application et toutes ses gems. Cependant je note des gros soucis de performances avec des chargements de pages de 30 secondes en moyenne (l'application a énormément de fichiers).

J'ai lu que cela était du à la synchronisation des dossiers avec Vagrant sous Windows et que, pour obtenir de meilleures performances il fallait utiliser une box avec Hyper-V et activer SMB dans la synchronisation des dossiers.

Je peine cependant sur ces dernières étapes.

J'aurais voulu savoir si parmi vous, certains ont réussi a se configurer une VM performante avec Vagrant pour développer avec Ruby on Rails et souhaiterait partager leur configuration.

Je m'adresse particulièrement à Grafikart qui, dans sa dernière vidéo sur Rails, a l'air d'avoir une VM qui fonctionne parfaitement.

Merci d'avance :)

7 réponses


Perso moi je l'utilise pour un projet de taille moyenne et je n'ai pas remarqué de pb majeur de perf j'essaierais d'alouer plus de RAM dans un premier temps pour voir et voir pour limiter l'utilisation de l'asset pipeline pour éviter qu'il recompile tout tout le temps ^^

Tuxi
Auteur

Merci Grafikart pour ta réponse :)

J'ai lu que le fait de posséder un SSD augmentait significativement les performances. Ça explique sans doute tes bonnes perfs. Bonne idée pour l'asset pipeline, c'est clair que ça doit influer beaucoup sur le chargement de la page.

Je me permets de te demander deux trois petites choses qui m'intriguent. Sur ta dernière vidéo, comment as-tu fait pour afficher sur ta console, en plus de l'utilisateur en cours, l'heure et le dossier dans lequel tu travailles?
Par ailleurs, as-tu utilisé Puppet via PuPHPet ou Chef comme système de provisionning?

J'en profite pour te remercier pour tous tes tutos qui ont sauvé la vie de nombreuses fois, à moi et à mes camarades de promo ^^

Auriez-vous une box Vagrant pour developper sur rails. J4ai beau chercher sur internet il y a beaucoup choses et je suis un peu perdu..

Tuxi
Auteur

PuPHPet est a été mis à jour depuis la création de ce sujet, je te conseille d'y jeter un oeil. Tu peux maintenant choisir facilement la version de ruby avec RVM préinstallé et également les gems que tu souhaites.

Bon courage :)

Il faut s'assurer que t'as activé le mode nfs dans le fichier Vagranfile, ce qui accélére la synchronisation et le loading de l'application meme si elle est lancée depuis la VM.

@Greenpix : Il y'a pas mieux de faire une box soit meme, pour que tu te rends compte facilement lorsque une erreur se produise, ce que t'as besoin c'est du RVM ou Rbenv, Installer ruby grace à l'un des deux, Installer Rails grace à la commande gem.

Pour aller plus loin, je te propose de jeter un coup d'oeil sur http://beta.umbreo.com, une start-up qu'on vient de lancer, qui va te permettre de faire de la configuration en ligne de tes serveurs, avec n'importe technologie souhaité, soit que t'as leurs physique, soit dans un cloud genre AWS.

Bon code!

Tuxi
Auteur

@rnadomatcs Merci de ta réponse. Mais si je ne dis pas de bêtises, NFS n'est pas disponible sous Windows (cf doc Vagrant qui recommande du coup d'utiliser SMB et Hyper-V sous Windows).

Au final depuis la création du sujet, j'ai bien réussi à créer une VM avec ce système de syncronisation de fichier, mais même si les performances étaient meilleures, c'était pas encore ça.

Jonathan en a d'ailleurs fait l'expérience lors du dev de la nouvelle version du site et l'a évoqué dans ses précédents live.
Du coup je suis repassé sous Linux ^^

@Tuxi ah d'accord, tant mieux alors :)