Endeca Performance Optimization
Ranzal launches the first of our Performance Analysis Tools: Phoenix
So, you’ve got this great Endeca Commerce implementation powering your online sales and delivering a world-class experience to your customers. Or you’ve got a terrific Data Discovery application built on the Oracle Endeca Information Discovery (OEID, for short) platform and it’s enabling your users to unlock all kinds of value from your structured and unstructured data. Things are humming along and life is grand. However, one day, you decide to implement some changes. Maybe you’re rolling out a second business release or a whole new set of data sources or products. Maybe you’re enabling record-level-security. Post-rollout, you start to get the dreaded emails from your users:
“Hey Andy, the system seems really slow this morning.”
“This chart loads for me but not for Gireesh, can you help?”
“Your site used to be lightning-fast, now a search for ‘handbags’ takes 30 seconds!.”
Performance testing, forensic analysis, system troubleshooting. For most people, these are not tasks that set one’s pulse racing with excitement. However, monitoring performance and understanding where the bottlenecks are is a crucial element of maintaining a valuable Endeca application, be it Commerce or OEID.
Since we’re all about efficiency and helping people work on the fun stuff, we’ve spent some time over the last month building Phoenix, our performance analysis tool for Oracle Commerce and OEID.
What does it do?
Phoenix harnesses the entirety of Endeca system metrics that are tracked throughout the platform, from the back-end MDEX Engines for OEID/Endeca Commerce to the front-end OEID Studio application, and produces clear and concise HTML reports. Our application breaks down and summarizes your system performance by Date and Time (down to the hour), Feature (Navigation vs. Search vs. Charting vs. Sorting vs. Everything), Portlet Instance (for OEID) and more, surfacing where your implementation is experiencing problems.
In addition, it identifies your worst performing operations and queries, taking a holistic view of the entire system, not just the back-end MDEX. It surfaces the key information necessary to figure out which parts of your stack (Network, Front-end, Back-end) are acting as a bottleneck and which parts are cruising along performance-wise. If you’re troubleshooting an OEID application, it can find your worst performing charts or visualizations. For a Commerce application, it can find out which cartridges and features are contributing to your most expensive queries.
What questions does it answer?
Which Endeca features are performing poorly?
What times of the day/month/year is my application taking on the most load?
Is my application returning too much data in its responses?
Do I have enough threads?
Are my requests "queueing"?
What are my worst-performing queries?
Is my network a bottleneck for responses?
Does my application tier read the MDEX responses too slowly?
How does it work?
Phoenix is written in Java following a modular and extensible pattern that allows new "parsers" to be plugged in to work with any version of the MDEX and EID Studio request logs, past or present. With Perl no longer shipping with the OEID product, Java and the extensibility it offers, was the obvious choice for writing this utility. The “default” version we ship is designed for v2.3 of the OEID platform and the latest version of Oracle Endeca Commerce but if you’re on an older version and looking to use it (Endeca Infront, Latitude 1, MDEX 5, etc.), let us know and we can make it available to you.
How do I get it?
If you're interested in better understanding the health and performance characteristics of your Endeca implementation, contact us at ranzal.com to see what Ranzal and Phoenix can do for you.
Our plan is to continue to build out a suite of analysis, performance testing and optimization tools to help the Oracle Endeca community get the most out of their Commerce and Data Discovery applications.