OFBiz Load Testing Handbook

 

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

The 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

Our 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

OFBiz 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

The 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

Before 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

Well-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

We wanted to define the most efficient minimum hardware configuration for OFBiz. 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!

 

Photo credit: paloetic / Foter / CC BY-NC


DATE: Mar 03, 2015
AUTHOR: Pranay Pandey
OFBiz