by Aurimas Mikalauskas | Jan 15, 2015 | Benchmarks, Insight for DBAs, MySQL
The other day a customer asked me to do capacity planning for their web server farm. I was looking at the CPU graph for one of the web servers that had Hyper-threading switched ON and thought to myself: “This must be quite a misleading graph – it shows 30%... by Aurimas Mikalauskas | Nov 14, 2014 | Insight for DBAs, MySQL
This blog post was inspired by my visit at the annual Zabbix Conference in Riga, Latvia this year, where I gave a couple of talks on MySQL and beyond.It was a two-day single-track event with some 200 participants, a number of interesting talks on Zabbix (and related... by Aurimas Mikalauskas | Sep 5, 2013 | MySQL
MySQL 5.6 has a great many new features, including, but certainly not limited to a number of performance improvements. However, besides the widely talked-about features such as InnoDB support for full text search, optimizer, performance schema improvements and GTID,... by Aurimas Mikalauskas | Jan 16, 2013 | MySQL
Queries in MySQL, Sphinx and many other database or search engines are typically single-threaded. That is when you issue a single query on your brand new r910 with 32 CPU cores and 16 disks, the maximum that is going to be used to process this query at any given point... by Aurimas Mikalauskas | Jan 15, 2013 | Insight for Developers, MySQL
One of the most common causes of a poor Sphinx search performance I find our customers face is misuse of search filters. In this article I will cover how Sphinx attributes (which are normally used for filtering) work, when they are a good idea to use and what to do... by Aurimas Mikalauskas | Jan 9, 2013 | Insight for DBAs, MySQL
While we do have many blog posts on replication on our blog, such as on replication being single-threaded, on semi-synchronous replication or on estimating replication capacity, I don’t think we have one that covers the very basics of how MySQL replication... by Aurimas Mikalauskas | Dec 20, 2012 | Cloud, Insight for DBAs, MySQL
We are doing a migration from Amazon RDS to EC2 with a customer. This, unfortunately, involves some downtime – if you are an RDS user, you probably know you can’t replicate an RDS instance to an external server (or even EC2). While it is annoying, this... by Aurimas Mikalauskas | Aug 29, 2012 | Insight for DBAs, MySQL
If you ever had a replication slave that is severely behind, you probably noticed that it’s not catching up with a busy master at a steady pace. Instead, the “Seconds behind master” is going up and down so you can’t really tell whether the... by Aurimas Mikalauskas | Aug 28, 2012 | Insight for DBAs, Insight for Developers
Spoiler alert: If your boss does not need an elephant, he is definitely NOT going to buy one from you. If he will, he will regret it and eventually you will too.I must appologize to the reader who was expecting to find an advice on selling useless goods to his boss.... by Aurimas Mikalauskas | May 24, 2012 | Insight for DBAs, MySQL
I used to think one should never look at max_binlog_size, however last year I had a couple of interesting cases which showed that sometimes it may be very important variable to tune properly. I meant to write about it earlier but never really had a chance to do it. I... by Aurimas Mikalauskas | Jun 9, 2011 | MySQL
Now that flash storage is becoming more popular, IO alignment question keeps popping up more often than it used to when all we had were rotating hard disk drives. I think the reason is very simple – when systems only had one bearing hard disk drive (HDD) as in... by Aurimas Mikalauskas | Jun 9, 2011 | MySQL
In the first part of this article I have showed how I align IO, now I want to share results of the benchmark that I have been running to see how much benefit can we get from a proper IO alignment on a 4-disk RAID1+0 with 64k stripe element. I haven’t been... by Aurimas Mikalauskas | Apr 17, 2011 | Insight for DBAs, MySQL
I use Aspersa tools a lot and I find myself going to the website just to download one of the tools all the time. I love I can download maatkit with a simple wget maatkit.org/get/tool command so I made bit.ly shortcuts for all of the current aspersa tools. Here’s... by Aurimas Mikalauskas | Apr 7, 2011 | Insight for DBAs, MySQL
I don’t use many tools in my consulting practice but for the ones I do, I try to know them as best as I can. I’ve been using mk-query-digest for almost as long as it exists but it continues to surprise me in ways I couldn’t imagine it would. This... by Aurimas Mikalauskas | Mar 28, 2011 | Insight for DBAs, MySQL
Have you ever seen BIG weird numbers in mk-query-digest report that just seem wrong? I have! Here’s one report I got today: ... # Attribute total min max avg 95% stddev median # ============ ======= ======= ======= ======= ======= ======= ======= # Exec time... by Aurimas Mikalauskas | Nov 9, 2010 | Insight for DBAs, MySQL
Before I start a story about the data recovery case I worked on yesterday, here’s a quick tip – having a database backup does not mean you can restore from it. Always verify your backup can be used to restore the database! If not automatically, do this... by Aurimas Mikalauskas | Sep 6, 2010 | MySQL
Few days ago I was working on a case where we needed to modify a lot of data before pushing it to sphinx – MySQL did not have a function to do the thing so I thought I’ll write MySQL Stored Function and we’ll be good to go. It worked! But not so well... by Aurimas Mikalauskas | Mar 23, 2010 | Insight for DBAs, MySQL
Did that ever happen to you in production? [percona@sandbox msb_5_0_87]$ ./use ERROR 1040 (00000): Too many connections 12 [percona@sandbox msb_5_0_87]$ ./useERROR 1040 (00000): Too many connections Just happened to one of our customers. Want to know what we did?For... by Aurimas Mikalauskas | Jan 19, 2009 | Insight for Developers
These days I’m working with a customer who has an application based entirely on stored routines on MySQL side. Even though I haven’t worked much with stored procedures, I though it’s going to be a piece of cake. In the end – it was, but... by Aurimas Mikalauskas | Mar 27, 2008 | Insight for DBAs
Few months ago, I wrote about a faster way to do certain table modifications online. It works well when all you want is to remove auto_increment or change ENUM values. When it comes to changes that really require table to be rebuilt – adding/dropping columns or...