2012-03-20 11 views
47

Recentemente ho "aggiornato" la mia app sulla piattaforma di cedro su heroku. Per impostazione predefinita sto usando thin come server web. Ma sono sempre stato tentato di usare unicorn per la concorrenza e di avere il mio dyno dollar padre. Ma mi preoccupo ci sono dei trucchi per usare qualcosa di diverso da Thin.Devo usare il sottile o unicorno su Heroku Cedar

Qualcuno ha esperienza di vita reale con questa decisione?

Grazie!

Jonathan


Note:

voglio sapere ragioni per cui tutti non dovrebbe fare questo

+0

che è un bell'articolo. grazie per aver condiviso – Andrew

risposta

28
Aggiornamento

- 3 mesi dopo.

Ho utilizzato unicorno in produzione per 3 mesi e sono stato molto contento. Uso 4 lavoratori unicorno per dyno.

Una cosa che devi tenere d'occhio è il consumo di memoria e le perdite. In effetti, invece di avere 512 MB di memoria per dino, questo è diviso per il numero di lavoratori di heroku. Ma tenendo questo in mente - è stato un grande costo risparmiatore

+0

Grazie per aver condiviso ... Sto valutando la stessa mossa e ho persino fatto un po 'di [benchamarking per la mia app] (http://ylan.segal-family.com/blog/2012/08/20/better-performance -on-Heroku-assottiglia-vs-unicorn-vs-puma /). Assomiglia sicuramente ad un unicorno che si tradurrà in un risparmio di costi. –

+0

Per migliorare il valore della risposta, includere istruzioni o collegamenti alle istruzioni per l'uso di Unicorn. Perchè penso che sia quello che farò! – slothbear

+1

Sapete se c'è qualche problema con l'utilizzo di variabili globali (ad esempio ogni lavoratore mantiene le proprie variabili globali o sta condividendo/clobbering lo stesso ambito globale)? Questo non è uno schema comune in MVC ma lo usiamo in alcuni punti. Grazie! –

7

Non c'è ragione per non farlo - io uso Unicorn su Heroku con molto successo.

0

Se usi Thin e il tuo codice non cancella le richieste molto rapidamente, allora sei nei guai - dal momento che Heroku usa il routing casuale, le richieste si impilano su un banco di prova bloccato anche se ci sono dei dynos liberi. L'uso di Unicorn sembra migliore, se riesci a gestire il colpo di memoria, perché è meno probabile che tutte le tue forcelle ricevano richieste lente allo stesso tempo. Non risolve il problema del routing casuale di Heroku, ma dovrebbe essere di grande aiuto.

Link e spiegazioni in questa risposta:

https://stackoverflow.com/a/19965981/1233555