SORU
12 Mayıs 2009, Salı


Yavaş başlangıç Phusion Yolcu ve Raylar kullanılırken başlangıç server

Phusion Yolcu band-wagon üzerinde atlamak için bir basamak küçük bir rails uygulaması test etmek için server kurulumu yaptık.

Şimdiye kadar kullanmak için çok güzel oldu, yükleme/yapılandırma ve dağıtma uygulamaları bir esinti yapar. Sorun sunucularını kapatın öyle geliyor ki çok sık dayak yok ve arka planda kullandığımız bir sitedir. Birisi siteye girdiğinde anlam kadar, isteği işlemek için yeni bir server başlayana kadar çok uzun bir bekleyiş var. Belgeleri ile okuduk-ups set (akıllı-lv2 modları akıllı/, passengeridletime vs.) epeyce farklı çalıştı ve hala gerçek bir çözüm bulamadım.

Google sonuçları ile çiftçilik sonra gerçekten yararlı bir bilgi bulamadık. Şu anda sunucuları çalışır durumda tutmak için bir girişim her çok sık istekte bir cron var.

Başkasının bu sorunu yaşayan ve bir düzeltme için herhangi bir tavsiye var mı?

CEVAP
12 Mayıs 2009, Salı


Ne Uygulama ve/veya ApplicationSpawners aşağı zaman aşımı nedeniyle iflas ediyor. Yeni isteğinizi işlemek için, Yolcu başlangıç için birkaç saniye daha hızlı bir makine alabilir uygulama, yeni bir kopyası vardır. Bu sorunu gidermek için birkaç Apache yapılandırma seçenekleri vardır uygulamanız hayatta tutmak için kullanabilirsiniz.

Benim sunucularda yaptım özellikle burada. PassengerSpawnMethod ve PassengerMaxPreloaderİdleTime yapılandırma seçenekleri durumunuza en önemli.

# Speeds up spawn time tremendously -- if your app is compatible. 
# RMagick seems to be incompatible with smart spawning
# Older versions of Passenger called this RailsSpawnMethod
PassengerSpawnMethod smart

# Keep the application instances alive longer. Default is 300 (seconds)
PassengerPoolIdleTime 1000

# Keep the spawners alive, which speeds up spawning a new Application
# listener after a period of inactivity at the expense of memory.
# Older versions of Passenger called this RailsAppSpawnerIdleTime
PassengerMaxPreloaderIdleTime 0

# Just in case you're leaking memory, restart a listener 
# after processing 5000 requests
PassengerMaxRequests 5000

"Mod yumurtlama ve PassengerMaxPreloaderİdleTime, Yolcu kapatarak her zaman bellekte uygulama (başlangıç Apache sonra ilk istek sonra). 1 kopyalama devam edecektir "akıllı kullanarak Application bireysel dinleyicileri süper ucuz bir işlem olan bu kopyadan forked, olacak. Anlatamazsın ya da uygulama bir dinleyici spawn olup olmadığı değil, o kadar çabuk olur.

Eğer app akıllı yumurtlama ile uyumlu değilse, büyük bir PassengerPoolİdleTime tutmak ve sitenizin düzenli olarak kıvırın ve bir cron süreci kullanarak vurmayı tavsiye veya falan dinleyici hayatta kalmasını sağlamak için monitör istiyorum.

Passenger User Guide Bu ve daha fazla yapılandırma seçeneği için harika bir referans.

edit: Eğer app akıllı yumurtlama ile uyumlu değilse, bazı vardıryeni seçeneklerçok güzel

# Automatically hit your site when apache starts, so that you don't have to wait
# for the first request for passenger to "spin up" your application. This even
# helps when you have smart spawning enabled. 
PassengerPreStart http://myexample.com/
PassengerPreStart http://myexample2.com:3500/

# the minimum number of application instances that must be kept around whenever 
# the application is first accessed or after passenger cleans up idle instances
# With this option, 3 application instances will ALWAYS be available after the
# first request, even after passenger cleans up idle ones
PassengerMinInstances 3

Bu yüzden, eğer bir araya PassengerPreStart ve PassengerMinİnstances, Yolcu edecek kadar dönüş 3 örnekleri hemen sonra apache yükler, ve hep devam et en az 3 örnekleri, böylece kullanıcılara nadiren (eğer hiç) bir gecikme.

Ya da, eğer PassengerMaxPreloaderIdleTime 0 akıllı yumurtlama (önerilen) zaten kullanıyorsanız, PassengerPreStart anında başlangıç ek yarar elde etmek için ekleyebilirsiniz.

phusion.nl kahramanlar için çok teşekkürler!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • cyriak

    cyriak

    29 Mart 2006
  • Matus Slovak

    Matus Slovak

    5 Temmuz 2007