Hi all. We know that ERPNext is a solution for SMEs. What limits ERPNext as a solution for Large organizations? Which Organization can be considered an SME for ERPNext will work fine and which organization is considered a Large organization for which ERPNext is not suitable?
Personally, the flexibility in ERPNext means you can use it in most scenarios. Inter-company transaction may have been a stumbling block but V11 has now support for that.
The main concern I would have is the ability to have enough server capacity to be able to cope with the sql transactions. However, these could be mitigated by using master/slave SQL servers and perhaps better optimized configurations.
Other then that, there might be some additional items that larger organisations need such as SOP (Standard Operating Procedures), QMS (Quality Management System) and group consolidations.
Yep, that would be an additional stumbling block.
Thanks for your insight @abbas. I am a noob so please bear with me. When you say “better optimized configurations” of server, then what optimizations do you suggest and the way to achieve them? Any walkthroughs or guides?
Also, is there any guide available for creating a Master/Slave server setup particularly in ERPNext?
Unfortunately, better optimised configuration refers to ensuring that your limits in the configuration files support the hardware, so it’s not a case of follow these settings and your good to go. A lot of the configuration will be based on your individual needs.
My current test system is a single VPS which houses the webserver and database server. As I am using it for test purposes I have not looked into the issue of splitting out the database server onto into own VPS and then ensuring there is a direct tunnel between the two. Then I will look into the whole master/slave DB servers. I am aware of concepts of technology architecture and best practices (split servers up, virtual racks etc…) but have never implemented them hence its a learning curve.
Fortunately, there is a lot on the fourm about optimisation, but not a specific guide or walkthrough.
The only reason I am running my own ERPNext install (rather then a hosted solution) is simply due to the fact 1, I want a bit more speed and control for the ecommerce portion and 2, I love learning new tech!
Good luck and sorry I don’t have a guide for you.
This is a frequently asked question. Not only for ERPNext, but for most business software. There is rarely a simple answer. But I want to share a few thoughts.
First, consider the underlying technologies of ERPNext. There’s a SQL database. Many times, you can achieve huge performance gains by improving your database server hardware, or tuning your database. As a real-world example, I once helped a client with performance issues on a Accounts Receivable Aging report. It was taking over 1 hour to finish. After adjusting some queries and indexes? 9 seconds to finish. Yes, that is an extreme example. But it illustrates the importance of database optimization. There is no “one-size-fits-all” set of database indexes. Every organization needs to tune based on their own usage.
Next consider that by default, ERPNext is using Nginx as the web server. There are hundreds of articles online that explain how you can improve Nginx performance, adding and scaling out web servers, etc.
There are many other considerations. But if you get creative, you can often find solutions to performance bottlenecks. As another example, I had a client with 2 separate manufacturing locations. One in Europe, another in the United States. They used the same ERP system. But treated these locations as separate business entities. 98% of the time, each site worked with different customers, suppliers, part numbers, and recipes. So, did they need share the same instance of the ERP? No. They could run 2 separate instances, on local servers. And once per month, share financial results with each other, and synchronize code. Was this ideal? Perhaps not. But it was very practical. And eliminated the problems of network latency and database connections across the Atlantic Ocean.
Other ERP systems (SAP, Oracle, Microsoft, Sage) are also asked these same questions. And the answer is usually the same: it depends on the customer’s situation. You may even need to customize ERPNext. Perhaps there is some code that is limiting performance? It’s possible. But the only way to know is with specific, repeatable examples. Once those are identified, then we can think of solutions.
In a perfect world, there would exist an ERPNext “Stress Test” laboratory. With the hardware to simulate tens of thousands of users, and millions of transactions. But the cost, time, and effort to create such a simulation is very huge. And what’s the ROI, besides satisfying our curiosity?
I know this didn’t answer your question. I wish I could provide evidence that says “ERPNext can support 50,000 users, and this is exactly how you do it.” But I don’t think most of us have exposure to that kind of customer.
Thank you so much. Great insight.