When data and transactions in your ERPNext installation grows, it's important to scale various areas to combat the bottlenecks.
In ERPNext, when the database and number of transactions increase to a very large level, various parts become bottlenecks. Be it hardware or software, various scaling methods need to be applied to run a large ERP system smoothly. The optimizations and scaling methods discussed in this document are for ERPNext and cover topics like database scaling, hardware scaling, code optimizations, and other relevant methods.
This business white paper explores ways to scale ERPNext as your organization grows. Using proper configuration to remove bottlenecks is vital for smooth functioning of a growing ERPNext system.
This paper covers the common challenges that users are faced with when running ERPNext on a massive scale. We explore strategies that can be employed to overcome such challenges by scaling ERPNext. ERPNext is built on a three-tier architecture with a database backend, an application layer built on a front end. Apart from this, in deployments at large volumes, data will be fed by API integrations with payment and IOT platforms while the users will be consumers of data. In this paper, we cover scaling each tier and handling specific bottlenecks that appear with the growth of an ERPNext implementation. For large volumes of accounting or stock transactions, the “ledger” will become the bottleneck and this paper will also discuss strategies for partitioning the ledger.
Download white paper
Background
1. ERPNext Architecture
1.1 Frappe Framework
1.2 Services
1.3 Frappe Bench
2. Scaling Resources
2.1 Service Oriented Architecture (SOA)
2.2 Hardware Scaling
2.3 Database Scaling
2.3.1 Configuration
2.3.2 Index Optimization
2.3.3 MariaDB / MySQL Scaling
2.3.4 Data Partitioning
2.4 Scaling the Application Server (Frappe)
2.4.1 NGINX Proxy
2.4.2 Separation of Web and Job Workers
2.4.3 Separation of Read and Write Queries
2.4.4 Async Python using GEvent
2.5 Scaling Redis
2.6 Scaling Front-end
3. Application Scaling
3.1 Performance Monitoring Tools
3.2 Scaling Reports / MIS
3.3 Increasing Throughput
3.4 Refactoring
3.5 Partitioning Ledgers / Federation
3.6 Customization and Plugins
3.7 Custom Front End
3.8 Load Balancing
3.9 Migrations at Scale
4. Testimonial
Conclusion
Credits
Open Source Software for Modern Businesses
Get a real time view of your cash flow. Full fledged accounting module covering every aspect of book keeping.
Manage full employee life cycle right from onboarding, payroll, attendance, expense claims, assets to separation.
Effectively maintain and manage multilevel bill of materials, production planning, job cards & inventory.
Increase productivity and lower costs by managing your sales and purchase cycles, from purchase to sales orders
Win and retain more customers by optimising sales process. Track leads, opportunities and send the quotes on the go.
Deliver both internal and external projects on time, budget and profitability. Track tasks, timesheets and issues by project.
Deliver a better service experience with an intuitive issue tracker and integrated knowledge base.
Maintain and Manage details of assets, their movement, value adjustment and depreciation.
ERPNext comes with a fully featured content management with blogs, web pages and forms.
ERPNext has a host of built-in integrations that help your business take-off faster
ERPNext has a host of built-in integrations that help your business take-off faster