Rescuing the Big Player
Scope of work: commerce_Hybris
The customer's system wasn't able to handle the traffic caused by the pandemic
A company that operates a chain of over 200 supermarkets started struggling with performance issues on their SAP Commerce Cloud (Hybris) platform.
So far, everything was running perfectly fine, but the pandemic turned the popularity between offline and online upside down, causing online to become the most popular shopping channel. Traffic on online stores peaked dramatically and exposed all the solutions that were not optimal.
Given the situation, the only solution was to identify and fix the performance issues to unlock an online channel.
We stepped in. The team of 5 people spent 36 hours analysing the code, identifying performance bottlenecks and finding optimal solutions for implementing new features requested by the business.
We identified five challenges that we needed to fix to bring back the performance stability and meet business objectives.
Performance problem with huge DB queries in the back-office
The problem of the performance of these queries resulted from their structure and non-optimal building of relations between different objects. The indicated DB query records do not operate optimally on large sets, nesting queries to subsets of Orders and Sites. The effect of this solution is a relatively long time to perform each operation, especially after taking into account additional restrictions.
The solution was the query denormalization: in simple words – we extended the base search object with additional information it will be searched for. It reduced the query, dramatically reduced the sets of searched collections and increased the performance of those queries.
Ability to search more products in the Product cockpit
Back office users could not search more than a dozen products at once by a given product id – the search was not giving any result if a certain amount of ids was set in the search box.
Our investigation pointed to the problem as a wrong configuration of Solr service that allows only the default size of a given search request. Longer requests are rejected by the Solr server that is logged in error logs.
We changed the configuration of the Solr server to allow longer queries or change the method of communication with Solr. That fixed the problem.
Search in different languages was not possible
Additional demand from the business was to enable multi-language search capability.
We proposed to introduce a new language in the platform using core Hybris mechanisms, including extending the Solr page with a dedicated multi-language attribute storing searchable phrases used by cross-search.
Synchronization of Multiple Products and categories at once
The request from the business was clear: the back-office user wants to select more than one product or category from the list.
We proposed the following: use a built-in solution offered by the platform to multi-select products to synchronization. If selected categories should synchronize subcategories and products in their collection the configuration of the platform needs to be changed.
Performance issue with export in back-office
The fifth problem was related to the performance of exporting orders: exporting orders information in the back office of restricted users takes too long.
One of the proposed solutions is to override the behaviour of export action that will reduce flexibility but increase performance, second is to investigate the built-in mechanism and configuration of export reducing the impact of restrictions on performance.
For each of the problems, we proposed a detailed plan of implementation, including necessary steps done in the code, Hybris configuration and the process.
We faced a mixture of business & tech issues and that, combined with the limited amount of time we have been given and the fact that we have never seen the customer's solution before and you will get a recipe for a... success!
Although we offer expert’s support to solve complex problems, the situation and the model of cooperation wasn’t typical for us. Given the circumstances, we formed a team of our best experts to help the client overcome the obstacles that harm the business.
We needed only 36 hours to identify problems and fix (or propose a fix) them – the business was operational again.
Although the challenge was great, we enabled the business to handle the huge traffic coming to the eCommerce channel.