2009-02-24 10 views
6

Io uso Apache + Passenger per ospitare alcune applicazioni di Rails. Qualcosa sembra andare in modalità sleep quando non c'è richiesta per un tempo più lungo. Occorrono quindi 10-20 secondi per caricare il sito. Sembra che ci sia qualcosa che deve svegliarsi quando non ci sono state richieste per un tempo più lungo.L'app Rails per il mio passeggero a volte ha bisogno di molto tempo per caricare

Come posso risolvere il problema? Ho abbastanza RAM quindi non dovrebbe esserci alcun problema se qualunque cosa va a dormire rimane sveglia. ;)

risposta

10

Dai un'occhiata al parametro PassengerPoolIdleTime per Passeggero. Indica il numero massimo di secondi in cui un'istanza dell'applicazione può essere inattiva prima che venga arrestata per risparmiare memoria.

Il valore predefinito è 300, ma è possibile provare a impostare un numero più alto e vedere se questo aiuta.

1

Inoltre, se si è su un host condiviso e non è possibile modificare tale impostazione, è sempre possibile scrivere uno script cron per raggiungere il sito ogni x secondi (dove x è leggermente inferiore a PassengerPoolIdleTime) e aggiornare il proprio pacchetto di analisi per ignorare le richieste dall'indirizzo IP della casella che esegue il polling.

1

La documentazione del passeggero consiglia di impostare PassengerPoolIdleTime su 0 su host non condivisi che eseguono solo poche app di Rails. Questo dovrebbe impedirgli di scaricarsi a meno che non sia assolutamente necessario.

Problemi correlati