“With Zing our reporting engine shows its best side. It’s not hobbled by the JVM anymore.” – Daniel Taylor, VP Operations, Vocalabs
Reporting application response was sluggish, with occasional multi-minute delays.
Zing provides consistent response times around 6 msec and delivers ~7x headroom for growth.
Vocalabs builds effective, SaaS-based customer feedback programs for Fortune 1000 companies, telecommunications carriers, industry consultants and equipment vendors. The company’s reporting tools are a critical part of this service and are designed for a wide variety of users, from executives to customer service.
Online reporting provides 24 x 7 access to the latest data collected by the client’s customer feedback program. The system is designed so clients can quickly identify issues and take immediate action. This eliminates delays that could impact Vocalabs clients’ customer satisfaction and revenue.
As people fill out customer service surveys the information is made available within minutes in Vocalabs’ online reporting tool. Client feedback programs continually add data to the system and grow the size of reports. The number of users has also grown over time, increasing the load on the system. Vocalabs needed to ensure nearly instantaneous response to meet the expectations of users requesting reports or drilling down on individual survey responses.
The Vocalabs system was in production for a couple of years before they started seeing issues. The report generator was continually receiving new data and needed to rebuild reports, but this filled the heap and caused repeated garbage collection pauses. The longest pauses (up to 2 minutes long) were occurring in the middle of the day when loads were highest, negatively impacting client perception of the service. The company reduced the frequency of report rebuilding and tuned the system extensively. Because report sizes and the number of users kept growing, system responsiveness kept getting worse. For this highly interactive application slow response times were just not acceptable.
This wasn’t the fault of the application itself. The root cause was garbage collection activity inside the JVM. Unfortunately, the company was spending more and more time trying to resolve performance issues they had very little control over instead of adding high-value features for their clients. And, the inconsistent memory usage of their existing JVM left them guessing when to add new hardware to accommodate growth.
Vocalabs chose Zing to resolve the performance issues with its reporting application. Zing allows the application to deliver reports with consistent response times, regardless of the amount of new data being added or number of users accessing or requesting reports. As Daniel Taylor, VP Operations for Vocalabs noted, “With Zing, no matter how many people are accessing reports the response times are great. The latency improvements are like night and day.”
Vocalabs reports provide fully interactive access and are a key part of the value proposition of the service. Now that the reporting app is deployed on Zing reports and queries have a much more instantaneous feel and search is very fast. Clients are able to cut the data different ways and search on questionnaire responses, including free text, with immediate response. This high performance drives very positive client perception of the service.
When new data becomes available for a report, the system rebuilds it, but temporarily needs to have two copies in memory at the same time. With Vocalabs’ prior JVM, managing this process caused long pauses in operation. With Zing, Vocalabs is able to rebuild reports more often and make data available more quickly without triggering pauses that drag out response times for users on the system. The demonstration report system that’s publicly available also runs on the production reporting system, and fast response times impress prospective customers and help close new sales for the company.
In addition to better response time performance, Vocalabs found benefits they didn’t expect. One was that Zing’s more aggressive garbage collection gives the company a clearer picture of memory usage so they can predict when they will need new hardware. The memory profile is much smoother, showing more clearly how much of the current capacity is being used.
Another is Zing Vision. Zing ships with an always-on performance monitoring tool, Zing Vision. Vocalabs was able to use Zing Vision to find and resolve a lock contention issue that was causing several-second delays. In addition, the company has found that Zing Vision is a very good debugging tool and that having switched to a new JVM “things are broken a lot less,” according to Taylor.
Vocalabs was also impressed by the professionalism and responsiveness of the Azul Systems support team. Noting that it’s one of the best he’s encountered in the computer industry, Taylor commented, “there’s no understating the importance of support, especially for a mission-critical application.”
For Vocalabs, providing consistent response times and a great experience for users accessing reports is critical. However, limitations of their conventional JVM caused sluggish response that impacted customer perception of their service. Now that the reporting application is deployed on Zing, response times are nearly instantaneous and the company is able to update reports more often. They can also turn their attention from managing JVM performance issues that were largely out of their control to adding new features to the reporting system. Zing has also provided them with a clearer picture of when they need to purchase new hardware. And, in testing Zing has shown their reporting system will be able to handle 7x the current load while maintaining the fast response times users experience today. “The extended pauses caused by our prior JVM just didn’t cut it for such an interactive application,” added Taylor, “now our site works better and is more responsive. The instantaneous feel has really improved our clients’ perception.”