№ 32 ERPNextCalc
Frappe Gunicorn FinOps Sheet
Rate Baseline: 2026-11-12
Methodology
Deterministic Math
Unit Precision
USD (/mo • /yr)
Commercial Firewall
100% Independent
Direct Utility
Open Calculator →

ERPNextCalc affiliate disclosure (ERPNextCalc: Frappe v15 Gunicorn, Redis RQ & RAM Studio): outbound provider links may earn a referral commission at zero added cost. Read ERPNextCalc disclosure.

Frappe v15 / ERPNext Sizing Studio

ERPNextCalc: Frappe v15 Gunicorn, Redis RQ & InnoDB Studio

ERPNextCalc calculates deterministic Gunicorn worker counts via (2 * vCPU) + 1, isolates Redis RQ short/default/long queues, and pins MariaDB innodb_buffer_pool_size to 45% RAM on co-located servers.

Use the horizontal parameter ribbon below to update real-time memory meters, generate common_site_config.json, and export Supervisor worker specs without per-user SaaS lock-in.

Worker Formula
17 Gunicorn + 5 RQ
MariaDB InnoDB (45% RAM)
7373 MB (45% RAM)
Projected RAM Utilization
106% / 16 GB
Reference Fixed VDS Rate
$37.50/mo

ERPNextCalc Horizontal Frappe v15 Parameter Ribbon

ERPNextCalc Column 1: Process Memory Gauges

  • Gunicorn API17 workers (4420 MB)
  • Redis RQ (Short/Def/Long)5 workers (3584 MB)
  • MariaDB InnoDB 45%7869 MB
  • Redis + Node Socket.IO + OS1464 MB
  • Total Projected RAM17337 MB / 16384 MB (106%)

Optimal headroom (106%): safe margin for PDF & BOM spikes.

Recommended Node: UltaHost VDS Power (16 GB) ($37.50/mo)

Est. delta vs $25/seat SaaS: $1,462.50/mo

ERPNextCalc Column 2: common_site_config.json

{
  "db_host": "127.0.0.1",
  "db_port": 3306,
  "redis_cache": "redis://127.0.0.1:13000",
  "redis_queue": "redis://127.0.0.1:11000",
  "webserver_port": 8000,
  "socketio_port": 9000,
  "gunicorn_workers": 17,
  "http_timeout": 120,
  "background_workers": 5,
  "rq_queue_split": {
    "short": 2,
    "default": 2,
    "long": 1
  },
  "mariadb_innodb_buffer_pool_mb": 7373,
  "max_file_size": 26214400,
  "serve_default_site": true,
  "pause_scheduler": 0
}

ERPNextCalc Column 3: frappe-bench-workers.conf

; ERPNextCalc Supervisor Spec — Frappe v15 / ERPNext
[program:frappe-bench-web]
command=/home/frappe/frappe-bench/env/bin/gunicorn -b 127.0.0.1:8000 -w 17 -t 120 frappe.app:application --preload
directory=/home/frappe/frappe-bench/sites
user=frappe
autostart=true
autorestart=true
priority=4

[program:frappe-bench-worker-short]
command=/home/frappe/frappe-bench/env/bin/bench worker --queue short
numprocs=2
process_name=%(program_name)s_%(process_num)02d
directory=/home/frappe/frappe-bench
user=frappe
autostart=true
autorestart=true
stopwaitsecs=360

[program:frappe-bench-worker-default]
command=/home/frappe/frappe-bench/env/bin/bench worker --queue default
numprocs=2
process_name=%(program_name)s_%(process_num)02d
directory=/home/frappe/frappe-bench
user=frappe
autostart=true
autorestart=true
stopwaitsecs=600

[program:frappe-bench-worker-long]
command=/home/frappe/frappe-bench/env/bin/bench worker --queue long
numprocs=1
process_name=%(program_name)s_%(process_num)02d
directory=/home/frappe/frappe-bench
user=frappe
autostart=true
autorestart=true
stopwaitsecs=1800

ERPNextCalc Engineering Notes: MariaDB InnoDB 45% RAM & Redis RQ Queue Tuning

Our sizing formula rejects the 75% InnoDB rule on single-node Frappe benches.

In our audit of production Frappe v15 / ERPNext deployments, each Gunicorn worker with --preload enabled holds ~260 MB of Python bytecode and doctype metadata. On an 8 vCPU / 16 GB server, 17 Gunicorn processes require 4,420 MB (27% of RAM), while a 2-short / 2-default / 1-long Redis RQ pool adds 3,584 MB across 512 MB, 768 MB, and 1,024 MB worker tiers. Add 1,464 MB for Redis Cache, Redis Queue, Node Socket.IO on port 9000, Nginx, and Linux page cache, and the application stack already claims 58% of host memory before MariaDB opens a single connection.

We recommend locking innodb_buffer_pool_size at exactly 45% of RAM (7,372 MB on a 16 GB host) so tabGL Entry and Stock Ledger indexes remain resident without exposing mariadbd to Linux OOM kills during multi-level BOM explosions.

ERPNextCalc Guidance on Short, Default & Long RQ Separation

We advise isolating short (360s stopwait), default (600s), and long (1800s) Supervisor programs so bulk CSV imports never stall live POS receipts or invoice emails on hosts starting at $9.99/mo to $37.50/mo.

ERPNextCalc 5-Vendor Self-Hosted Pricing Table (Snapshot 2026-11-12)

Vendor & TierCompute SpecsPublic RateRecommended ERPNext FitInspect Node
UltaHost
VDS Power NVMe (Dedicated vCPU)
8 vCPU / 16 GB RAM
200 GB NVMe RAID-10
$37.50/mo Primary pick for co-located MariaDB + Frappe v15 manufacturing benches needing isolated CPU steal. Inspect UltaHost Tier via ERPNextCalc
Official source
Hostinger
KVM 4 NVMe VPS
4 vCPU / 16 GB RAM
200 GB NVMe SSD
$9.99/mo Lowest entry cost for 20–60 user ERPNext accounting & inventory benches on KVM. Inspect Hostinger Tier via ERPNextCalc
Official source
Vultr
High Frequency 8 vCPU / 32 GB
8 vCPU / 32 GB RAM
512 GB NVMe
$192.00/mo High single-core clock speed for heavy Python Jinja print formats and multi-tenant benches. Inspect Vultr Tier via ERPNextCalc
Official source
InterServer
4-Slice KVM Price-Lock
4 vCPU / 8 GB RAM
120 GB SSD
$24.00/mo Price-Lock renewal stability for predictable multi-year SME ERPNext deployments. Inspect InterServer Tier via ERPNextCalc
Official source
ChemiCloud
Cloud Edge Relay / Staging Node
2 vCPU / 4 GB RAM
80 GB NVMe
$19.95/mo Companion staging portal, documentation hub, or lightweight Nginx edge proxy tier. Inspect ChemiCloud Tier via ERPNextCalc
Official source
60-User ERP Deployment ModelMonthly Compute / License3-Year TotalArchitecture & Seat Scaling
Self-Hosted ERPNext (UltaHost 16 GB VDS)$37.50/mo$1,350.00Full MariaDB root access, unlimited users & companies
Per-Seat SaaS ERP ($25/seat baseline)$1,500.00/mo$54,000.00Linear per-seat fee growth for every warehouse tablet

Instance pricing throughout ERPNextCalc mirrors official 2026-11-12 public sheets; check the provider's live checkout screen for updated renewal terms.

ERPNextCalc Frappe v15 Architecture Diagrams

ERPNextCalc Frappe v15 Redis RQ short default long queue diagram
Redis Queue (:11000) & Redis Cache (:13000) isolation modeled by ERPNextCalc
ERPNextCalc Gunicorn worker scaling formula 2 times vCPU plus 1
Gunicorn worker scaling curve at 260 MB RSS per Frappe v15 worker
ERPNextCalc MariaDB innodb_buffer_pool_size 45 percent RAM allocation chart
16 GB co-located memory boundary: 45% InnoDB vs Python & Redis workers
ERPNextCalc annual TCO comparison per-seat SaaS ERP vs fixed UltaHost VDS
Annual spend delta between per-seat SaaS ERP and fixed-RAM self-hosting
ERPNextCalc 15s Sizing Reel

ERPNextCalc: Size Frappe v15 Gunicorn, RQ workers & InnoDB right!

ERPNextCalc models Scale gunicorn_workers = (2 * vCPU) + 1 for ERPNext API. Compare $650+/mo saas overhead vs $18.50/mo fixed compute (2026-11-12 public rates).

ERPNextCalc Knowledge Hubs: 8 Topology Guides & 4 TCO Comparisons

Web Tier Concurrency

ERPNextCalc Guide: Frappe v15 Gunicorn Worker Tuning

Calculate Gunicorn worker processes with (2 * vCPU) + 1, cap worker RSS at 260 MB via --preload, and eliminate 504 gateway timeouts on heavy ERPNext reports.

Read topology guide →
Background Worker Queues

ERPNextCalc Guide: Redis RQ Short, Default & Long Queue Isolation

Prevent multi-level BOM explosions and fiscal closing vouchers from stalling POS email alerts by splitting Redis RQ into dedicated short, default, and long pools.

Read topology guide →
Database Buffer Discipline

ERPNextCalc Guide: MariaDB InnoDB 45% RAM Co-Location Guide

Why co-located ERPNext servers must cap innodb_buffer_pool_size at 45% of physical RAM instead of the classic 75% standalone database rule.

Read topology guide →
Realtime Desk Updates

ERPNextCalc Guide: Frappe Socket.IO & Node.js Realtime Sizing

Configure Node.js Socket.IO on port 9000 for live document locking, background progress bars, and POS status streams without file-descriptor exhaustion.

Read topology guide →
Edge & Upstream Proxy

ERPNextCalc Guide: Nginx Reverse Proxy & Static Asset Architecture

Offload /assets/ JS/CSS bundles directly from Nginx, align proxy_read_timeout with Gunicorn http_timeout, and harden upload limits for ERPNext attachments.

Read topology guide →
Disaster Recovery

ERPNextCalc Guide: Bench Backup, Restore & Disk Headroom Guide

Prevent disk exhaustion from unrotated public/private attachments and avoid memory spikes when running mysqldump and bench restore.

Read topology guide →
Factory & MRP Workloads

ERPNextCalc Guide: Manufacturing, Multi-Level BOM & MRP Scaling

Size long RQ workers and MariaDB InnoDB pools for 5-level BOM explosions, shop-floor Job Cards, and batch Work Order submissions.

Read topology guide →
Multi-Company Hosting

ERPNextCalc Guide: Multi-Tenant Frappe v15 Bench Isolation Blueprint

Understand when DNS-based multi-tenancy inside one Frappe bench saves RAM versus when noisy-neighbor RQ jobs require separate Linux benches.

Read topology guide →
Suite Economics Audit

ERPNextCalc Audit: ERPNext Self-Hosted vs NetSuite 3-Year TCO

Quantify the 3-year cost gap between fixed-hardware Frappe v15 / ERPNext ($37.50/mo VDS) and NetSuite base platform plus per-user licensing fees.

Inspect TCO audit →
Manufacturing ERP Economics

ERPNextCalc Audit: ERPNext v15 vs SAP Business One Hardware & Seat Cost

Compare SAP Business One HANA minimum 64 GB RAM appliance requirements and per-user CALs against lean 16 GB Frappe v15 ERPNext compute.

Inspect TCO audit →
Managed PaaS vs Raw VDS

ERPNextCalc Audit: Managed Frappe Cloud vs Self-Hosted UltaHost VDS

Evaluate managed Frappe Cloud convenience against dedicated CPU/RAM headroom and direct MariaDB tuning on UltaHost VDS.

Inspect TCO audit →
VPS Tier Comparison

ERPNextCalc Audit: Hostinger KVM 4 vs Vultr High Frequency for ERPNext

Match ERPNext user counts against Hostinger KVM 4 budget NVMe nodes and Vultr High Frequency high-clock compute instances.

Inspect TCO audit →

ERPNextCalc Frappe v15 & ERPNext Sizing FAQs

ERPNextCalc FAQ: Why does Frappe v15 use gunicorn_workers = (2 * vCPU) + 1?

Keeping Gunicorn workers at (2 * vCPU) + 1 saturates Python I/O wait windows without triggering Linux context-switch thrash or starving MariaDB memory buffers.

ERPNextCalc FAQ: Why cap MariaDB innodb_buffer_pool_size at 45% RAM on a single node?

Co-located ERPNext hosts share memory across Python Gunicorn (~260 MB/worker), Redis RQ queues (512–1024 MB/worker), and Node Socket.IO; 45% leaves safe burst headroom.

ERPNextCalc FAQ: Why split Redis RQ workers into short, default, and long queues?

Isolating short (512 MB), default (768 MB), and long (1024 MB) Supervisor groups stops multi-level BOM explosions or fiscal period closings from stalling POS alerts.

ERPNextCalc FAQ: How much does self-hosted ERPNext save vs $25/seat SaaS at 60 users?

At $25/seat/mo, 60 SaaS seats total $1,500.00/mo ($18,000/yr), whereas a fixed 16 GB UltaHost VDS runs $37.50/mo ($450/yr) on 2026-11-12 public rates.

ERPNextCalc Production Sizing & TCO Playbooks

9 in-depth engineering playbooks covering memory ceilings, Gen4 NVMe IOPS, and 36-month renewal TCO.

ERPNextCalc OOM-Killer Prevention & 16GB RAM Ceiling Guide

Stop Linux kernel OOM-killer crashes on ERPNextCalc. Published frappe-bench gunicorn + python-rq + MariaDB memory budgets for 1500 to 30000 daily ERP.

Read Sizing Guide →
ERPNextCalc NVMe IOPS & Disk Queue Benchmark (116,000 IOPS)

Avoid noisy-neighbor disk stalls on ERPNextCalc. Compare Gen4 NVMe 4K IOPS, fsync latency (105 ms ledger post), and KVM storage tiers from $37.50/mo.

Read Sizing Guide →
ERPNextCalc 36-Month VPS TCO Audit: Promo vs Renewal Rates

Compare true 3-year TCO for ERPNextCalc infrastructure. Audit UltaHost Dedicated EPYC VDS ($37.50/mo) vs Hostinger KVM NVMe ($10.49/mo) across.

Read Sizing Guide →
ERPNextCalc APAC Latency Guide: Singapore & Tokyo Node Sizing

Cut APAC round-trip time to 105 ms ledger post on ERPNextCalc. Compare Singapore, Tokyo, and US-West routing, TCP BBR tuning, and NVMe VPS plans from.

Read Sizing Guide →
ERPNextCalc CPU Steal Audit: Shared KVM vCPU vs Dedicated EPYC

Measure vCPU steal time impact on ERPNextCalc. Size AMD EPYC cores for 1500–30000 daily ERP vouchers across UltaHost Dedicated EPYC VDS and Hostinger.

Read Sizing Guide →
ERPNextCalc Backup & Disaster Recovery Runbook (15-Min RPO)

Design zero-corruption backups for ERPNextCalc. Coordinate tabGL Entry & tabStock Ledger Entry InnoDB pages snapshots, encrypted offsite archives, and.

Read Sizing Guide →
ERPNextCalc Self-Hosted VPS vs Managed SaaS Cost & Margin Audit

Calculate exact SaaS seat-tax savings by self-hosting ERPNextCalc. Run 8000 daily ERP vouchers on 16GB NVMe VPS starting at $37.50/mo.

Read Sizing Guide →
ERPNextCalc Security Hardening: UFW, WireGuard & SSH Lockdown

Harden ERPNextCalc production VPS nodes against port scans and brute-force attacks. Isolate frappe-bench gunicorn + python-rq + MariaDB behind.

Read Sizing Guide →
ERPNextCalc Scaling Breakpoints: Vertical 32GB vs Multi-Node

Know the exact ERPNextCalc breakpoint between vertical 32GB VPS scaling and multi-node clustering across 1500–30000 daily ERP vouchers.

Read Sizing Guide →
ERPNextCalc Monitoring & Alert Thresholds: RAM, IOPS & p99

Configure low-overhead observability for ERPNextCalc. Track frappe-bench gunicorn + python-rq + MariaDB RSS memory, NVMe await ms, and 105 ms ledger.

Read Sizing Guide →
UltaHost 16 GB VDS: $37.50/mo Inspect UltaHost VDS on ERPNextCalc