Peter Kruis
Peter Kruis SQL Server Engineer @ Monin

MONIN Solves SQL Server Performance Issues with DBmarlin

MONIN Solves SQL Server Performance Issues with DBmarlin

MONIN has helped customers manage databases and optimise performance for over 10 years. During that time, they’ve built up a close partnership with the DBmarlin team, provided lots of ideas about the features DBAs need to do their job, and have been using the product since it was launched in 2020.

We asked Peter Kruis, SQL Engineer at MONIN, to share his thoughts on DBmarlin and provide some real-world feedback on using it to help customers. We have a great and longstanding partnership with MONIN and value their insights; the team has already provided useful feedback and suggestions on multiple features that we went on to add to DBmarlin.

The MONIN team stresses that the evolution and flexibility of DBmarlin, where we add features based on user feedback, is a huge selling point for them. They see DBmarlin as a low-effort tool that anyone in IT can use effectively, without needing in-depth DBA knowledge to investigate issues.

Peter has provided us with this example below of how DBmarlin saved him time to quickly identify an old SQL Server performance issue. He also highlights a desire for flexible Custom Reporting – something that we’re looking into (and we’re grateful for this input!).

Read on to see how DBmarlin helped MONIN to solve their customer’s data performance issue.

Solving SQL Server Performance Issues with DBmarlin: My Experience

In the world of database administration, nothing is more frustrating than hearing, “Our SQL Server was slow, oh wait,…it was two weeks ago. No, we didn’t think of calling you when it happened…” It’s the kind of retrospective problem that can be a huge time sink, especially when you’re dealing with incomplete information and delayed notification. This was exactly the kind of issue we faced recently.

As a third-line support team, we’re often brought in after the fact to troubleshoot and provide solutions for issues that have already occurred. In this case, a customer with a large webshop reached out, reporting that they had experienced performance problems two weeks prior. Typically, investigating issues this far back is a time-consuming and often painful process. Without the right tools in place, finding out why something was slow, when it happened weeks ago, and what caused the slowdown is asking to search for a needle in a haystack.

Identifying the Issue: Parameter Sniffing

With DBmarlin’s historical performance data, we were able to quickly narrow down the timeframe and identify the root cause. It turned out to be a case of parameter sniffing—an all-too-common issue with SQL Server query plans. Thanks to DBmarlin’s detailed breakdown of query execution plans and performance data, we found that the customer’s query plan had changed during the reported period.

DBmarlin screenshot

This shift in execution plans was due to parameter sniffing, where the optimizer had cached a suboptimal query plan for certain parameter values, causing a degradation in performance when different values were later used.

Why DBmarlin Helped

What made DBmarlin invaluable here was its ability to provide a precise view of the queries and plans that were active during the customer’s problem window, despite the issue occurring several weeks ago. We could pinpoint exactly when the query plan changed, saving us countless hours of manual investigation that would have involved sifting through logs and performance data spread across multiple systems.

DBmarlin screenshot

Without DBmarlin, we would have been stuck trying to piece together a timeline and query behaviour using incomplete or outdated information. Instead, we could give the customer a solid answer quickly, along with steps to prevent similar issues in the future.

Room for Improvement: Custom Reporting

DBmarlin was a lifesaver in this case, and there’s exciting potential for even further enhancements. One area that could elevate the platform is the addition of more flexible custom reporting. The predefined reports are highly useful, but offering the ability to tailor visualisations for specific needs or client requests would add even more value.

You can query the underlying database directly to get the data you need, which provides flexibility. However, streamlining this process would make it even more efficient. Introducing more customizable reporting options within the UI, or integrating with tools like PowerBI, would make it easier to create tailored visualisations. This enhancement would not only boost workflow efficiency but also elevate the way we present findings to clients.

Final Thoughts

In short, DBmarlin was a game-changer for us in diagnosing an old SQL Server performance issue. It cut through the noise and provided the exact information we needed to solve the problem quickly and accurately. That said, adding more flexible reporting options would take the tool to the next level, giving users more control over how they visualise and present their data. Nonetheless, it’s a solid tool that any DBA or performance engineer should consider adding to their toolkit.

dbmarlin-community-join