Many of the world’s leading agencies and biggest advertisers use Rocket Fuel’s programmatic media-buying platform to go beyond 1:1 marketing. With a platform that helps campaigns adapt in milliseconds, Rocket Fuel must continuously monitor and optimize its database structures for performance and resource consumption.
Tasked with this challenge, Rocket Fuel’s five full-time database administrators (DBAs) are involved in general database projects as well as developer support, operational support, and performance tuning.
Since the company’s entire product suite relies on MySQL running flawlessly 24x7, the DBAs not only need to investigate and correct database and application issues when they arise, but proactively monitor and report on performance down to the second—before issues impact customers. Visibility from VividCortex helps them keep watch on database workloads and query performance, so that Rocket Fuel users can confidently market to customers at exactly the right time.
" Using VividCortex is a no-brainer. It’s the only tool that provides real-time sampling reporting, down to the one-second level and below. There is nothing else that can accomplish this."
—James Briggs, Sr. Database Architect
To deliver the quality of service Rocket Fuel’s customers expect, maximization of system performance, efficiency, and uptime is critical. As a large company, Rocket Fuel uses a range of monitoring tools to accomplish this. Catchpoint and New Relic provide external monitoring of the company’s website and application performance. For internal monitoring, Rocket Fuel DBAs use Nagios for infrastructure health checks.
But none of these solutions could provide deep insights into database availability and performance. Rocket Fuel DBAs needed a better way to monitor performance of the MySQL database environment. Traditional methods to stay on top of critical database metrics and queries required too much time and manual effort. They also needed deeper visibility than the standard counters and metrics exposed by MySQL and the operating systems could provide.
One of the ways James and his team use VividCortex is for general monitoring and performance tuning. When they find something suspicious they’re able to hone in and isolate the problem quickly. At a minimum, they look at VividCortex dashboards daily, to see if there are any exceptional queries visible. They also check Top Users and Top Queries to attain a master-detail view across all servers with per-second drilldown. For example, Top Queries provides samples of queries, EXPLAIN plans, and cross-correlations with other metrics like I/O and CPU.
“VividCortex dashboards provide visualizations of potential issues,” says James. “If there is anything suspicious we will capture a screenshot and send that level of detail to our operations and applications people to determine if it is potentially related to their activities or not. This is really critical to isolating the problem. Just identifying a missing index can make a query 500 times faster, and that’s fairly typical.”
James adds that to determine if a problem is database- or application-related, Rocket Fuel DBAs combine information from New Relic with information from VividCortex in all of their investigations. Other monitoring solutions in Rocket Fuel’s stack complement VividCortex, but only VividCortex provides deeper insight into internal database problems, which would otherwise remain hidden.
“If there’s an issue and we need to investigate, VividCortex is key in eliminating the database as a potential cause of the problem. That pays for itself."