Aylık 35 dolarlık bir n8n kurulumu ne kadar trafik kaldırabilir? n8n'i AWS ECS Fargate üzerinde mümkün olan en ucuz yapılandırmayla dağıttık ve webhook yük testleri yaparak bunu öğrendik.
Kurulum
| Bileşen | Özellik | Aylık Maliyet |
|---|---|---|
| ECS Fargate | 0.25 vCPU, 512MB RAM, ARM64 | ~$9 |
| RDS PostgreSQL 17 | db.t4g.micro, 20GB GP3 | ~$12 |
| Application Load Balancer | internet-facing, HTTPS | ~$8 |
| Diğer (ECR, Secrets, Logs) | minimal | ~$1 |
| Toplam | ~$31-35 |
Mimari: Public subnet'te tek Fargate task, ACM sertifikalı ALB, SSL ile RDS, %70 CPU/Memory eşiğinde 1-3 task arası otomatik ölçeklendirme.
Test Aracı
hey — HTTP yük üreteci. Tüm testler bir webhook endpoint'ine istek gönderdi:
POST https://workflow.example.com/webhook/...
Content-Type: application/json
Body: {"test": true}Test 1: Smoke Test (1 eşzamanlı)
hey -n 10 -c 1| Metrik | Değer |
|---|---|
| İstekler | 10 |
| Ort. Gecikme | 185ms |
| p50 | 145ms |
| p90 | 550ms |
| En Hızlı | 143ms |
| En Yavaş | 550ms |
| Hata Oranı | %0 |
Sonuç: Temel yanıt süresi ~145ms. 550ms'lik sapma muhtemelen ilk soğuk isteğin SSL handshake yükünden kaynaklanıyor.
Test 2: Hafif Yük (5 eşzamanlı, 30 saniye)
hey -n 100 -c 5 -z 30s| Metrik | Değer |
|---|---|
| Toplam İstek | 367 |
| İstek/sn | 12.2 |
| Ort. Gecikme | 410ms |
| p50 | 315ms |
| p90 | 501ms |
| p95 | 1.32s |
| p99 | 1.71s |
| Hata Oranı | %0 |
Sonuç: Sıfır hatayla 12 istek/sn kaldırıyor. p50, 315ms'nin altında kalıyor ki bu 0.25 vCPU'luk bir örnek için mükemmel. p95'in 1.3s'ye çıkması ara sıra garbage collection duraklamaları veya Node.js event loop çekişmesini gösteriyor — bu seviye için beklenen davranış.
Gecikme Dağılımı
0.15s - 0.31s ████████████████████████████████████████ 167 (%46)
0.31s - 0.46s ██████████ 37 (%10)
0.62s - 0.78s █ 5 (%1)
0.78s - 1.71s ██ 22 (%6)İsteklerin %83'ü 460ms altında tamamlanıyor. Uzun kuyruk (780ms üzeri %6) muhtemelen n8n'in iş akışı yürütme motorunun veritabanı migrasyonları veya dahili bakım işlemleri çalıştırdığı yer.
Test 3: Orta Yük (20 eşzamanlı, 60 saniye)
hey -n 500 -c 20 -z 60s| Metrik | Değer |
|---|---|
| Toplam İstek | 865 |
| İstek/sn | 14.0 |
| Ort. Gecikme | 1.43s |
| p50 | 1.19s |
| p90 | 2.39s |
| p95 | 2.46s |
| p99 | 2.66s |
| Hata Oranı | %0 |
Sonuç: 20 eşzamanlı kullanıcıda hâlâ sıfır hata. Verim 14 istek/sn'ye çıktı ancak gecikme belirgin şekilde arttı — ortalama 410ms'den 1.43s'ye yükseldi. 0.25 vCPU artık açıkça doymuş durumda; bimodal dağılım iki küme gösteriyor: biri 1.1-1.3s civarında (isteklerin %56'sı), diğeri 2.3-2.5s civarında (isteklerin %19'u).
Gecikme Dağılımı
0.36s - 0.85s ████ 5 (%1)
0.85s - 1.33s ██████████████████████████████████████████ 612 (%71)
1.33s - 1.81s ████ 50 (%6)
1.81s - 2.29s ██ 32 (%4)
2.29s - 2.77s █████████████ 166 (%19)Bimodal desen, tüm worker thread'ler meşgulken Node.js event loop'un istekleri kuyruğa aldığını gösteriyor. İkinci küme (2.3-2.5s), işlenmeden önce tam bir döngü beklemek zorunda kalan istekleri temsil ediyor.
Test 4: Yükseltme Sonrası (20 eşzamanlı, 0.5 vCPU)
0.25 vCPU / 512MB'den 0.5 vCPU / 1GB'a yükselttikten sonra aynı orta yük testini tekrarladık.
hey -n 500 -c 20 -z 60s| Metrik | Değer |
|---|---|
| Toplam İstek | 2117 |
| İstek/sn | 35.1 |
| Ort. Gecikme | 568ms |
| p50 | 514ms |
| p90 | 705ms |
| p95 | 1.07s |
| p99 | 1.32s |
| Hata Oranı | %0 |
CPU'yu ikiye katlamak 2.5 kat verim artışı ve %60 gecikme azalması (1.43s'den 568ms'ye) sağladı. Bimodal dağılım ortadan kalktı — isteklerin %83'ü artık 622ms altında tamamlanıyor.
Gecikme Dağılımı
0.29s - 0.46s ████████████████ 485 (%23)
0.46s - 0.62s ████████████████████████████████████████████ 1274 (%60)
0.62s - 0.79s ██████ 196 (%9)
0.79s - 0.95s █ 27 (%1)
0.95s - 1.28s ███ 99 (%5)
1.28s - 1.94s █ 35 (%2)Dağılım artık unimodal — kuyruk efektleri yok. Node.js event loop, tüm istekleri biriktirmeden işlemek için yeterli CPU alanına sahip.
Yükseltme Öncesi ve Sonrası
20 Eşzamanlı Kullanıcıda 0.25 vCPU vs 0.5 vCPU
| Metrik | 0.25 vCPU | 0.5 vCPU | İyileşme |
|---|---|---|---|
| İstek/sn | 14.0 | 35.1 | +%150 |
| Toplam İstek (60s) | 865 | 2117 | +%145 |
| Ort. Gecikme | 1.43s | 568ms | -%60 |
| p50 | 1.19s | 514ms | -%57 |
| p90 | 2.39s | 705ms | -%70 |
| p99 | 2.66s | 1.32s | -%50 |
| Hata Oranı | %0 | %0 | aynı |
Temel Bulgular
Seviyeye Göre Kapasite
| Eşzamanlı Kullanıcı | Verim | Ort. Gecikme | p90 | p99 | Durum |
|---|---|---|---|---|---|
| 1 (0.25 vCPU) | 5.4 istek/sn | 185ms | 550ms | - | Rahat |
| 5 (0.25 vCPU) | 12.2 istek/sn | 410ms | 501ms | 1.71s | Rahat |
| 20 (0.25 vCPU) | 14.0 istek/sn | 1.43s | 2.39s | 2.66s | CPU doymuş |
| 20 (0.5 vCPU) | 35.1 istek/sn | 568ms | 705ms | 1.32s | Rahat |
Otomatik Ölçeklendirme Davranışı
ECS servisi, CPU kullanımı > %70 ve Bellek kullanımı > %70 eşiklerine göre 1'den 3 task'a ölçeklendirmeye yapılandırılmış durumda.
0.5 vCPU seviyesi ve 3 çalışan task ile teorik kapasite sürdürülebilir ~105 istek/sn'ye ulaşıyor.
Daha İyi Performans İçin Queue Modu
Maliyet vs Performans
Ölçülen Maliyet-Performans Seviyeleri
| Aylık Maliyet | Yapılandırma | Ölçülen Kapasite | Gecikme (p90) |
|---|---|---|---|
| ~$35 | 1x 0.25 vCPU, 512MB | 14 istek/sn | 20 eşzamanlıda 2.39s |
| ~$40 | 1x 0.5 vCPU, 1GB | 35 istek/sn | 20 eşzamanlıda 705ms |
| ~$40-55 | 1-3x 0.5 vCPU (otomatik ölçek) | ~105 istek/sn | <1s |
0.5 vCPU seviyesi ayda sadece ~$5 daha fazlaya mal oluyor ancak %70 daha düşük p90 gecikmeyle 2.5 kat daha fazla verim sunuyor. Kendi sunucunuzda barındırılan n8n için en iyi fiyat/performans seviyesi budur.
Ne Zaman Ölçeklendirmeli?
- p95 gecikme sürekli 2 saniyenin üzerinde
- Hata oranı %1'in üzerinde
- ECS otomatik ölçeklendirme sık sık maksimumda (3 task)
- RDS CPU kredileri tükeniyor (CloudWatch CPUCreditBalance kontrol edin)
Sonuç
ECS Fargate (0.5 vCPU, 1GB) üzerinde aylık 40 dolarlık bir n8n kurulumu, 20 eşzamanlı kullanıcıda 700ms altı p90 gecikmeyle sürdürülebilir 35 istek/sn kaldırıyor — ve sıfır hata. Minimal $35 seviyesinden (0.25 vCPU) 0.5 vCPU'ya yükseltme, ayda sadece $5 daha fazlasına 2.5 kat verim artışı sağladı.
Temel içgörü: bu kurulum asla istek düşürmüyor. Aşırı yük altında onları kuyruğa alıp daha yavaş yanıt veriyor, ancak tüm test seviyelerinde %0 hata oranını koruyor. 3 task'a otomatik ölçeklendirmeyle ani yük kapasitesi ~105 istek/sn'ye ulaşıyor.
Dakikada 2.000'den az webhook çağrısı işleyen ekipler için 0.5 vCPU seviyesi, maliyet ve güvenilirlik arasındaki en ideal noktadır.
Stack: n8n 2.9.4 | ECS Fargate (ARM64/Graviton, 0.5 vCPU, 1GB) | RDS PostgreSQL 17 | ALB + ACM | AWS CDK
n8n Dağıtımınızda Yardıma mı İhtiyacınız Var?
n8n'i AWS'de kurmak, performansı optimize etmek veya queue moduna geçiş planlamak olsun — biz bu süreçlerden geçtik ve hedefinize daha hızlı ulaşmanıza yardımcı olabiliriz.
İletişime Geçin