Scale a Frappe/ERPNext Multi-Tenant Deployment for Traffic Spikes (HAProxy + Database Tuning)

Posted 5 days ago

Worldwide

Summary

We run a multi-tenant school management platform built on Frappe/ERPNext, serving several schools from a single deployment. Our infrastructure is spread across five dedicated servers — application, API, database, Redis, and background workers — on a bare-VPS provider. There are no managed cloud services and no autoscaling available to us. Everything is self-hosted and must remain so. The problem Our traffic is spiky by nature. When a school sends a notification, a large number of parents open the app within the same few minutes. We need the platform to stay responsive through those bursts, with a target of approximately 1,500 concurrent users at peak. We are not confident the stack can currently handle that, and we know parts of it are running on default configuration that was never tuned for production load. Scope of work 1. Audit and baseline — first deliverable • Review the current architecture across all five servers • Load-test the existing setup to establish a real baseline — we want measured numbers, not estimates • • Identify the actual bottlenecks in priority order Deliver a short written findings report before any implementation begins We want to know what is genuinely limiting us before anything is rebuilt. Applicants who propose implementation without measuring first will not be considered. 2. Database layer Our MariaDB instance runs on stock defaults despite substantial RAM being available, and the connection limit is low enough that adding application capacity would exhaust it. This must be addressed before any horizontal scaling. • • • • Tune buffer pool, connection limits, and thread handling for the available hardware Evaluate and implement connection pooling where appropriate Advise on read replica viability for our workload Identify and address the slowest queries under load 11 / 16 Confidential — Internal Review 3. Load balancing and horizontal scaling • Deploy HAProxy — or nginx, if you propose and justify it — as a self-hosted load balancer • Health checks with automatic removal and re-entry of unhealthy backends • Sticky sessions where the application requires them • Correct handling of WebSocket connections; we use Socket.IO for real-time features and this must not break • Graceful connection draining for zero-downtime deployments • Configuration must be reproducible and documented, not hand-edited on the server 4. Application layer • Right-size worker counts against actual CPU and memory rather than guesswork • Resolve inconsistencies in our nginx and process-manager configuration — there is leftover config from a previous migration that needs untangling • Caching strategy for the notification-spike scenario specifically, where many users request similar content simultaneously • Static asset and CDN strategy 5. Observability • Monitoring across all five servers, with dashboards our team can actually read • Alerting that fires before problems become outages • A documented runbook for our team 6. Validation • Load test to the 1,500 concurrent target and demonstrate the result • Document measured capacity limits and the failure mode when exceeded • Handover documentation and a walkthrough session Required experience • Frappe/ERPNext production deployments. This is essential, not a nice-to-have. The framework has specific requirements around multi-tenancy, background workers, and Socket.IO that generic DevOps experience does not cover. • HAProxy or nginx as a load balancer, in production, at scale • MariaDB/MySQL performance tuning with demonstrable before-and-after results • Load testing with k6, Locust, JMeter, or similar • Bare-VPS infrastructure work without managed cloud services • Infrastructure-as-code (Ansible or Terraform). We do not want changes that exist only in one person's shell history.

  • $200.00

    Fixed-price
  • Intermediate
    Experience Level
  • Remote Job
  • One-time project
    Project Type

Contract-to-hire opportunity

This lets talent know that this job could become full time.
Learn more
Skills and Expertise
Mandatory skills
DevOps
Activity on this job
  • Proposals:10 to 15
  • Last viewed by client:yesterday
  • Hires:
    1
  • Interviewing:
    5
  • Invites sent:
    7
  • Unanswered invites:
    0
About the client
Member since Jul 15, 2025
  • India
    Ranchi2:36 AM
  • $3.6K total spent
    52 hires, 16 active

Explore similar jobs on Upwork

Microsoft Azure
Automated Monitoring
Configuration Management
Infrastructure Management
Google Cloud Platform
Amazon Web Services
Cloud Computing
Cloudflare
Kubernetes
Red Hat

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo