Liferay Commerce and Load Testing

A baseline JMeter test plan for Liferay Commerce 2.1.x

An important aspect to consider for any enterprise software project is making sure that it is dimensioned to handle its expected load and also that its performance will be aligned with the current market expectations and usually, with our stakeholders' requirements. 

To address these needs and validate that everything will go smoothly in production and with no performance degradation, typically you will have a load generation tool like JMeter to validate your solutions by putting some load on your systems, and executing a test plan that usually covers your project's most essential scenarios and use cases. An interesting idea to consider while we are at it is that having in mind all the time, sweat, and tears invested in creating these JMeter test plans, why not using them as functional tests as well?! 

With all these in mind and to give you a jump start, I'm sharing here my JMeter 5.3 baseline test plan for Liferay Commerce. It is validated against Liferay DXP 7.1 + Liferay Commerce 2.1.2, but I'm sure that with small adjustments it will be useful on a multitude of different setups. The covered test cases are:

  • User authentication
  • Commerce account creation
  • Add a business address to the account
  • Create a Minium site
  • Create a new order
  • Check-out the order
  • Get placed order details

 

You can see this test plan in action here: https://youtu.be/lUZ8JJGRfaM

And you can get it here: https://gist.github.com/fafonso/1fd554d3391fdc98ff75bfc99729a2b5

I hope this is information is helpful for you and your projects, and if you need any help with your projects' Performance Tuning process, we at Liferay Global Services are always happy to support you the best way we can!

Blogs

Hi Filipe, 

 

And what are the conclusions? 

Can you tell us how many concurrent users and which architecture needed?

 You have tested with a cluster or not, how many cpus and rams? 

 

Thanks for your info, 

Eric. 

 

Hey Eric, I hope you are doing well.

 

Thank you so much for your questions. Just for clarity, I haven't conducted a performance analysis over Liferay Commerce yet, although that would be a really cool exercise, and I'm sure that the Commerce Engineering team is already planning for that! :) 

 

My goal here was to share a baseline JMeter test plan, that can be extended to achieve exactly what you are looking for, by adjusting the use cases to what your users will be doing on your solution. Additionally, I would run it against the same production setup you have in place for your project (same CPU, memory, cluster/no cluster), and I would try to calculate the required concurrent users, based on the real load you are expecting on your solution.

 

I hope this helps!

 

All the best,

 

Filipe