Am încercat și nodemon/forever pentru a porni aplicații nodejs, dar cel mai mult îmi place pm2. Pm2 știe să facă clustering cu load balancer (pentru a folosii mai multe cpu-uri), are și API, are și ceva interfețe web 3rd party: pm2-web, pm2-gui, și cea mai importantă și interesantă parte din pm2 este Keymetrics, care este un SaaS ce oferă o interfață web foarte interesantă (în principal pentru monitorizare).
În aplicație puteți emite evenimente, puteți seta niște funcții pe care să le declanșați din interfața web, puteți trimite erorile în interfața web, puteți analiza lantența conexiunii, puteți măsura tot felu de metrici, countere, evenimente pe interval, histogramă, și puteți face multe chestii interesante.
Instalați pm2 prin npm, faceți un cont pe keymetrics, conectați serverul la keymetrics apoi clonați aplicația asta demo: app-playground și arată cam așa:
Ce părere aveți de pm2 / Keymetrics ?
Mie mi se pare foarte interesant și folositor Keymetrics, vreau să încerc să fac o aplicație care face backup remote prin ftp intr-un interval de timp, și să pot declanșa manual un backup din keymetrics.
Un proiect asemănător cu PM2 este și Guvnor care arată super awesome, are interfața web inclusă nu trebuie să mai instalezi nimic, dar eu nu am reușit să îl testez până acum.
Probabil … Numai aplicația aia demonstrativă am lăsat-o pornită 2 ore și a trecut de la 12 mb consum ram la 20 mb. Deci ori e ceva bug, ori chiar e heavy.
Dar este direct proporțional cu consumul inițial ? Vorbind în procente practic și-a dublat consumul de ram în două ore. Și din ce cauză apare asta ? Ce anume rămâne în plus în ram ?
De obicei creste pana la un momentdat dupa care se stabilizeaza, asta daca nu exista un memory leak. Poti incerca sa faci un benchmark cu AB, dupa cateva sute de requesturi ar trebui sa ajunga la limita de sus.