OFBiz Load Testing Handbook

Pranay PandeyPublished: Updated:

 

OFBiz Load Testing

The HotWax Systems team conducted (and documented) extensive OFBiz Load Testing.

Apache OFBiz is a good fit for most eCommerce ERP businesses because of its modular design, easy customization, and framework for rapid application development. In this post, we’ve compiled all previous references related to OFBiz performance and load testing at one easy-to-access location.

Application load testing with Apache JMeter

load testing blog 7The Service Engine factory is the heart of Apache OFBiz service-oriented implementation. Using a factory pattern, OFBiz provides an easily extendable service management tool that supports many concurrent services and third-party execution engines (including, but not limited to): Java, Groovy, Javascript, SOLR, and others.

By offloading service implementation to programming language-specific engines, OFBiz services may be written and implemented in a preferred language by the developer. With the freedom to develop a custom solution comes the responsibility of load-testing the application. Apache JMeter is an open source load and performance testing application. JMeter can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different types of loads. You can use it to make a graphical analysis of performance or to test your server/script/object under heavy concurrent loads with Apache OFBiz. In our previous blogs, we detailed how to setup a testing environment, design a script and execute it to test the system for various loads. Test results can then be analyzed using the JMeter reporting tool, or with another third party tool, such as Hyperic.

Apache OFBiz performance benchmarking

load testing blog 1Our engineering team has been building on Apache OFBiz to deliver a cutting edge, custom, eCommerce ERP solution. In our R&D labs, we have performed both load testing and stress testing. These tests enabled us to set up performance benchmarks for the system. Performance can be checked for various eCommerce ERP processes, flow and series of execution, to produce test results such as hits per second, sessions per hour, requests served per hour, the number of active sessions, CPU usage, bandwidth and load time.

Technical design for Apache OFBiz load testing with Apache JMeter

load testing blog 2OFBiz can be tested using different type of technical architectures, including the “master-slave” configuration and the “single machine- single user/single machine multiple user configurations. We have tested OFBiz for both the configurations and found that the “single machine- single user/single machine multiple user” configuration is better. We divided the jobs into sync and async queues and set up two different OFBiz instances named “OFBiz01” and “OFBiz02”. The sync processes were addressed by the “OFBiz01” instance, while the async processes were addressed by the “OFBiz02” instance. We split the processes and divided the load to force the system to perform better with an exponential increase in load over time.

Restore pre-build Amazon Machine Images for Apache OFBiz load testing

load testing blog 3The purpose of this testing was to subject OFBiz to a heavy load to prove that it was able to scale properly. Capacity planning was a secondary purpose. We shared a step by step guide to restore pre-build Amazon machine images for Apache OFBiz load testing to detail the process. Once you have prepared and tested everything, using one JMeter instance and one User configuration, you can add more JMeter instances on a single machine. You can then run a series of test cases to stress test your application. This is how we can load test Apache OFBiz on AWS.

Setup Apache JMeter in a Linux environment

load testing blog 5Before a production release, it is always a good idea to thoroughly load and test the system. It requires a solid testing environment with good test plans and good test cases. Before setting up a test environment for Apache OFBiz, its very important to install Apache JMeter  with the settings/compatibility recommended for the system.

Defining a JMeter test plan for an eCommerce use case

load testing blog 7Well-defined user stories and use cases are the foundation of a thorough testing plan. As a best practice, we write a detailed use case for all the events in an eCommerce ERP business scenario. We build on these to develop a plan for JMeter testing. We’ve shared step-by-step guides for defining eCommerce use cases such as  Product Search, Order by registered and anonymous user. We have also defined use cases and test plans for Order Manager and Warehouse Manager for the customer service and order fulfillment processes.

OFBiz performance analysis – OFBiz 13.07 server configuration & cost-AWS/1,000 OPD

load testing blog 6We wanted to define the most efficient minimum hardware configuration for OFBiz. Here are the results for OFBiz 13.07 Server Configuration & Cost-AWS/1,000 OPD. We were pleased to see that when we tested OFBiz against an exponentially increasing load, the minimum hardware configuration was more than sufficient. We tested OFBiz  (1,000 OPD for a period of one day with a 2% conversion rate) within the minimum hardware configuration. The solution (which was developed using OFBiz) performed well under the higher load.

Conclusion

This OFBiz load testing handbook makes it easy for you to check the performance of your eCommerce ERP system against various loads and stressors. To evaluate your system in regards to additional business scenarios we encourage you to connect with us to learn more!

OFBiz Load Testing Handbook Reference URLs:

Apache OFBiz Performance Benchmarking

Technical Design for Apache OFBiz load testing with Apache JMeter

Restore pre-build Amazon Machine Images for Apache OFBiz Load Testing

Setup Apache JMeter in Linux Environment

Defining JMeter Test Plan for E-commerce Use Cases

Defining JMeter Test Plan for Order Manager Use Cases

Defining JMeter Test Plan for Warehouse Manager Use Cases

OFBiz Performance Analysis – OFBiz 13.07 Server Configuration & Cost-AWS/1,000 OPD

Photo credit: paloetic / Foter / CC BY-NC

Pranay Pandey About Pranay Pandey
Pranay Pandey has been in the software industry since 2006. He specializes in Enterprise Software Design and Development. At HotWax he currently leads the effort of architecting quality software products and training resources. He continues to be dedicated to the Apache OFBiz open source project since 2007 and became a committer in 2014. He leads our internal training programs in Apache OFBiz, ERP and new technologies under the roof of HotWax University. He is an Electronics graduate and has a masters degree in Computer Applications from Rajeev Gandhi Technical University, Bhopal (M.P.) India. He loves learning and sharing knowledge. He believes that one of the keys to success in this industry is to "keep learning". His hobbies are reading, writing, walking, running, cycling, cooking and watching science fiction movies.

Leave a Reply

Your email address will not be published. Required fields are marked *