Oracle Commerce offers a full-scale solution that merges many features in the product.

Oracle Commerce Site Optimization is not a one-time event. It is one of the most critical processes that should be imbibed throughout the project development lifecycle by the project architects, system administrators, and business stakeholders.

Here are a few prerequisites from the stakeholders for the optimization of a large-scale website running on Oracle Commerce:

  • NFR requirements like customer visit per page, request per page
  • TPS (through-put per seconds), page hits/second /orders per seconds
  • The expected number of users that the system must support – rush hours/normal
  • Estimated average page load Time
  • Response time
  • Concurrent user sessions
  • Average duration of a single session
  • Expected user growth and the estimated number of years that the system must sustain growth in terms of user addition

The site can be optimized many levels, including server level, integrations with third-party systems or services, live calls, page load time optimization, web server level, JVM level, and so on. Here is how you can optimize the website running on Oracle Commerce-

At WebServer Level

  • Enable cache control headers with apache mod headers apache module
  • Enable cache expiry headers with mod expires apache module
  • Enable compression for the static contents with mod deflate apache module
  • Provide dedicated access logs related to the platform, which helps in debugging & studying the traffic patterns

ATG JVM level

  • Fine tune JAVA parameters to better control the GC
  • Tune the JVM for better performance as per the best practices
  • Add the New Relic agents to all the Production JVM’s
  • Introduce GC log files to record the GC activity which helps in GC related issues

To improve the Page Load performance, we should optimize the images and other Media Objects (PDF/Guides/Videos etc.). I recommend integrating with the Page Speed chrome extension tool to check the page performance, browser caching, Apache server caching, cache control header, cache expiry headers, GC etc.

The developers should use Sonar Lint as a local plug-in to check the code smells during development, while at the same time the Sonar Cube reports should be used for overall code coverage details at a comprehensive level. Sonar cube should also be used to check the stuck thread which causes “Out of Memory” due to a large number of threads getting exhausted; especially when there is a huge load and while building application for a longer period. There should not be any cases of Transactions that were opened but were never closed, which as a result went into infinite loop.

Next, I would recommend you to limit the live system calls and utilizing the nightly data and/or batch transfer. You should also use the ATG Native Price List and Promotions. However, if the Pricing is dependent on some other system that requires live price calls, you should use the price caching and configurable schedule Price checks.

For Sales Order Submit, instead of live call, I recommend that you should configure a recurring order processor in an auxiliary server. You should then use the Native Inventory Repository and if the inventory value is dependent on some other system, the inventory availability should be cached using Oracle Coherence.

Another recommendation is using a Content Delivery Network (CDN) to distribute and cache static content geographically and thereby, improve the page rendering time. You should have a separate utility server to run the batch jobs and avoid any distribution of resources with the page-serving functions.

I would also suggest that you use the new Relic Monitoring for page load time, distributed tracing, transactions, external services and JVM fine tuning. At the browser level, it provides monitoring for page views, session traces, AJAX, JS, Violations etc. which we can fine tune if required.

I strongly endorse adherence to the Oracle Commerce best practices to successfully incorporate the features of this framework to maximize the Scalability, Performance, Reliability/Availability/Serviceability (RAS), Extensibility, and Security.

About SynergyTop –

SynergyTop is an Oracle Commerce development service provider based out of San Diego. We have expertise in Oracle ATG and Endeca technologies and have built large ecommerce solutions using these technologies.

Write to us at contact@synergytop.com for details!