N8N to świetne narzędzie do automatyzacji, ale początkujący user nie ma pojęcia ile RAM-u potrzebuje takie rozwiązanie 🤷♂️
Stawiasz to na najtańszym VPS-ie, a narzędzie 'się przewraca' 🧵 ↓
Sam interfejs N8N po uruchomieniu w Dockerze zjada ~250 MB RAM - i to jest tylko interfejs, który jeszcze nic nie robi.
Czyli teoretycznie taki serwerek 256MB (FROG) da radę?
No tak, ale na UI automatyzacja się nie kończy.
Każdy uruchomiony scenariusz przetwarzający dane zajmuje dodatkową pamięć. Z mojego doświadczenia - zakładaj minimum 128 MB RAM na jeden aktywny workflow.
Masz 4 scenariusze działające jednocześnie? Dolicz te ~0,5 GB RAM.
Ważne: 100 skonfigurowanych automatyzacji NIE zajmuje pamięci, dopóki nie są uruchamiane. Sama definicja workflow nie konsumuje zasobów, a jedynie jego wykonanie.
Jeśli pamięć zajmują tylko wykonywane scenariusze, to pytanie brzmi: ile z nich może się nałożyć na siebie?
Jeśli odpalasz workflow np. przez schedulera (cron) lub ręcznie, to banalnie jest to policzyć, ale co z webhookami, które dostają dane niezależnie od Twojej woli? Czasami otrzymasz jeden request na godzinę, a czasami 5 na sekundę. Trzeba to uwzględnić w obliczeniach.
Przetwarzanie większych danych to osobny temat.
Plik JSON ~5 MB może w pamięci RAM zająć spokojnie 100 MB po rozbiciu na struktury (zależnie od złożoności).
Pobieranie 100 maili naraz? Może być równie dobrze 100MB jak i 1 GB.
Jeśli możesz, dziel dane na mniejsze chunki.
Najcięższy węzeł? "CODE" - wykonywanie kodu.
W nowych wersjach N8N Python działa w osobnym kontenerze Dockera, więc musisz doliczyć pamięć na interpreter, o ile go używasz. JavaScript nadal działa natywnie w tym samym kontenerze co frontend.
Ciekawostka: "agent AI" w N8N wcale nie jest tak zasobożerny, jak się wydaje. Wykonuje on głównie zapytania HTTP do chmurowego API i przetwarza JSON-y.
Zajmują tyle pamięci, ile danych pobierają po ich przetworzeniu (JSON), więc są stosunkowo lekkie.
Pamiętaj tylko, że Agent AI trzyma wątek rozmowy, a więc przetwarza obecnego JSON-a i poprzedniego i... tyle danych ile ustawisz mu w kolejce wiadomości. Im dłuższa rozmowa, tym więcej RAM-u konsumuje.
Jeśli pamięć dla agenta ustawisz na "sky is the limit!" to będzie boleć.
Moje rekomendacje?
Minimum do startu: 1 GB RAM
Do wygodnej pracy: 2 GB RAM
Zostaw też trochę wolnej pamięci na pozostałe procesy systemowe.
Ważne: w przypadku Mikrusa konteneryzacja LXC sprawia, że kupując serwer 1 GB RAM, to faktycznie tyle masz do wykorzystania.
Przy klasycznych serwerach z pełną wirtualizacją (KVM) zostaje Ci do wykorzystania 700-800 MB.
Uwzględnij narzut OS (przy KVM) w obliczeniach.
A jak policzyć do tak "na serio"?
1) uruchom n8n w dockerze na domowym PC
2) skonfiguruj swój najcięższy workflow
3) w terminalu wpisz "docker stats"
4) uruchom workflow
5) sprawdź, ile RAM-u to zjada i pomnóż przez docelową liczbę równoczesnych wywołań
6) +300MB do wyniku na UI i dodatki
7) idź kupić Mikrus VPS 😏