Raylarım 4.1 uygulaması, arka uç işlerinde SSH üzerinden ikinci, birincil olmayan bir sunucuya bağlanır. Sonuç olarak, raylar uygulaması her gün yeniden başlatıldığında, SSH bağlantısının canlı/yukarı olması gerekir (daha ziyade birincil, birincil olmayan sunucunun yaşamak/yükseltmesi gerekir), aksi halde uygulama çöküyor. Bu, varsayılan olarak production.rb
(config.eager_load = true
) içinde doğru olarak ayarlanmış istekli yüklemeden kaynaklanmaktadır.Product.rb içinde eager_load işlevinin devre dışı bırakılmasının performans etkisi nedir?
Ben hevesli yükleri devre dışı bırakarak bu bağımlılığı kırmak için cazip, ama ben performans etkisine ilişkin çok fazla bilgi bulmak mümkün değilim. Yani, benim sorularım ...
1) eager_load
false
olarak ayarlanmışsa, uygulamanın başlangıç saatini yavaşlatacak mı yoksa uygulama ilk kez vurulduklarında kaynakları hevesle yükleyecek mi?
3) eager_load
ise basitçe için kapalıysa ne ölçüde olacak bu darbe app (daha sübjektif bir soru) kapalı performans? SSH bağlantı sağlar
2) modeli klasörü app\models\legacy
altındadır. eager_load
'u false olarak değiştirmek yerine, bu klasör istekli yüklü kaynaklardan hariç tutulabilir mi? Öyleyse nasıl? config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**/}')]
'u düzenlemem gerekeceğine inanıyorum ama tamamen emin değilim.
production.rb: config.eager_load true olarak ayarlanırsa,
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both thread web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true
yerine istekli yükleme değişen, doğrudan ssh erişir gelmez sınıf ayrıştırma/yükleme böylece sınıf değişmez ki? Ya da daha sağlam mı? – nathanvda