When I was new to my role as a database administrator (DBA), I believed that everything could be faster and more efficient. I spent my days performance tuning, to ensure that queries wouldn’t take a second longer than necessary. I even hoarded metrics—collecting all the data I could, not knowing whether it would come in useful one day. I soon realised that I was afflicted with what is called Compulsive Tuning Disorder (CTD).
In my case, CTD wasn’t a problem when I started my role, it even yielded results. My end-users enjoyed applications that ran faster, and happy end-users made for happy managers. Unfortunately, your early days as a DBA are rarely indicative of how the role pans out.
While you may start with enough time to do all the tuning you want, soon you’ll need to take on more responsibility. Much of which will be outside your area of expertise. A DBA’s role becomes even more demanding as emerging technologies continue to be introduced into the enterprise.
For DBAs with CTD, the compulsion to tune an environment is a heavy burden to carry. Keeping abreast of emerging trends today is daunting. And, unless you don’t enjoy sleep, so is the idea of tuning every aspect of your environment. This is why I now preach a different approach to performance tuning: minimalism.
DBAs should rethink their approach to performance monitoring and tuning. Instead, taking a more minimalist stance that focuses on the core necessities. This will help to keep up with the new demands that will inevitably crop up. The key to achieving this level of minimalism is asking yourself two, simple questions:
Is this a problem, and what can we do about it? To address these questions, DBAs should consider the following:
- Take alerts seriously: If you’re inundated with emails containing monitoring alerts, chances are you’ve taken a wrong turn somewhere. When configuring alerts to send you emails, make sure that you only do so for instances that require immediate action. Anything not requiring action is just information that can be logged for later review. By making a distinction between the vital and the important, and adjusting your email alerts, you won’t be so overwhelmed.
- Find the root cause: Troubleshooting is all about finding the root cause. When troubleshooting, a favourite technique of mine is to ask “why?” five times. By the time you get to the final “why,” you’ll be within touching distance of the root cause, and know that is where you should focus your efforts.
- Tinker less: Now, I know the temptation still exists to spend a lot of time on performance tuning. But there are definitely issues that are more pressing than turning your monitoring dashboard green. So, ask yourself, “What am I actually trying to solve?” If the answer is, “I don’t know,” you’ll know that it’s time to move on. If you can answer that question, and identify a problem, then you can establish an acceptable resolution goal. This will make your work far more efficient.
- Address resource consumption: If you’re facing resource consumption issues, the answer is remarkably simple. Use less, or buy more.
DBAs are well aware of how to track memory, disk, network, and CPU capacity. The issue, however, is resisting our urge to tune everything. A minimalist approach to tuning will help establish if an issue is pressing or if it can be put on the backburner. This way, you can avoid being overwhelmed by new technologies, and keep a lid on that unhealthy obsession.