J'ai écrit que peu de la guide.
Vous ne voulez certainement pas à vivre de la compilation de la production.
Lorsque vous avez de la compilation, c'est ce qui se passe:
Chaque requête pour un fichier dans /actifs est passé à Pignons. Sur la première demande pour chaque atout, il est compilé et mis en cache dans ce que Rails est à l'aide de cache (généralement le système de fichiers).
Sur les demandes ultérieures de Pignons reçoit la demande et a pour consulter les empreintes digitales, nom de fichier, vérifiez que le fichier (image) ou de fichiers(css et js) qui composent l'actif n'ont pas été modifiés, et puis si il y a une version en cache de servir.
C'est tout dans le dossier des actifs, et dans n'importe quel fournisseur/de l'actif des dossiers utilisés par les plugins.
C'est beaucoup de frais généraux que, pour être honnête, le code n'est pas optimisé pour la vitesse.
Cela aura un impact sur la vitesse de l'actif d'aller sur le fil pour le client, et aura un impact négatif sur le temps de chargement des pages de votre site.
Comparer avec la valeur par défaut:
Lorsque des actifs sont précompilés et compiler est éteint, les actifs sont compilés et les empreintes digitales à l' public/assets
. Les pignons retourne un tableau de correspondance de la plaine d'empreintes digitales, les noms de fichiers pour les Rails, les Rails et écrit ce pour le système de fichiers. Le fichier manifeste (YML dans Rails 3 ou JSON avec une étude randomisée de nom dans les Rails 4) est chargé en Mémoire par les Rails lors du démarrage et de mise en cache pour une utilisation par l'actif des méthodes d'assistance.
Cela rend la génération de pages avec la bonne empreintes digitales actifs très rapide, et le service de fichiers eux-mêmes sont des web-serveur-de-la-système de fichiers rapide. À la fois beaucoup plus rapide que de vivre de la compilation.
Pour obtenir le maximum de profit de la canalisation et de la prise d'empreintes digitales, vous devez définir les futures têtes sur votre serveur web, et d'activer la compression gzip pour les fichiers css et js. Les pignons écrit au format gzip versions des actifs que vous pouvez configurer votre serveur à utiliser, en supprimant la nécessité pour elle de le faire pour chaque demande.
Cela actifs pour le client aussi vite que possible, et dans la plus petite taille possible, accélérant le côté client d'affichage des pages, et à la réduction à l'avenir d'en-tête) des demandes.
Donc, si vous êtes en direct de la compilation c'est:
- Très lent
- Manque de compression
- Aura un impact sur le temps de rendu de pages
Rapport
- Aussi vite que possible
- Comprimé
- Supprimer la compression entendu à partir du serveur (en option).
- Minimiser les temps de rendu de pages.
Edit: (Réponse à la suivre jusqu'commentaire)
Le pipeline peut être changé à précompiler sur la première demande, mais il ya certains grands barrages pour le faire. La première est qu'il y a une table de recherche pour les empreintes digitales, les noms ou les méthodes d'aide sont trop lents. En vertu d'une compilation sur demande senario il y aurait besoin d'être d'une certaine façon à ajouter à la table de recherche comme chaque nouveau actif est compilé ou à la demande.
Aussi, quelqu'un aurait à payer le prix de la lenteur de la livraison de l'actif pour une période indéterminée jusqu'à ce que tous les actifs sont compilés et mis en place.
Par défaut, lorsque le prix de la compilation de tout ce qui est payé en ligne en une seule fois, n'a pas d'impact public et s'assure que tout fonctionne avant de les choses vont vivre.
Le deal-breaker, c'est qu'il ajoute beaucoup de complexité pour les systèmes de production.