Jan 08, 2015 |
Insight for DBAs, MySQL, Percona Software, Webinars
Whether you’re looking at the overall MySQL ecosystem or the all-data management landscape, the choice of technologies has never been larger than it is in 2015. Having so many options is great but it also can be very hard to make a selection. I’m going to help narrow the list next week during a Webinar […]
Dec 31, 2014 |
Benchmarks, MySQL, Percona Software
If you’ve been studying complex systems you know what minor changes might cause consequences of much greater proportions, sometimes causing some effects that are not easily explained at first. I recently ran across a great illustration of such behavior while doing MySQL benchmarks which I thought would be interesting to share. I’m using a very […]
Dec 24, 2014 |
Insight for DBAs, MySQL
It has been a while since I have looked at InnoDB crash recovery. A lot has change in the last few years – we have serious crash recovery performance improvements in MySQL 5.5 and MySQL 5.6, we have solid state drives raising as typical high performance IO subsystem and we also have the ability to […]
Dec 17, 2014 |
Insight for DBAs, MySQL
I believe InnoDB storage engine architecture is great for a lot of online workloads, however, there are no silver bullets in technology and all design choices have their trade offs. In this blog post I’m going to talk about one important InnoDB limitation that you should consider. InnoDB is a multiversion concurrency control (MVCC) storage […]
Nov 26, 2014 |
Benchmarks, MySQL
Often enough I find MySQL benchmark results where the difference between results is 1% or even less and some conclusions are drawn. Now it is not that 1% is not important – especially when you’re developing the product you should care about those 1% improvements or regressions because they tend to add up. However with […]
Nov 18, 2014 |
Benchmarks, MySQL
Starting with MySQL 5.6 there is an INNODB_METRICS table available in INFORMATION_SCHEMA which contains some additional information than provided in the SHOW GLOBAL STATUS output – yet might be more lightweight than PERFORMANCE_SCHEMA. Too bad INNODB_METRICS was designed during the Oracle-Sun split under MySQL leadership and so it covers only InnoDB counters. I think this […]
Nov 10, 2014 |
MongoDB, MySQL
I visited MongoDB Day in London on November 6. Here are a few observations: App-Developer Centric. It is interesting to see how much MongoDB is about developers; the ops side is something which is a necessary evil developers have to deal with. The ops topics covered in principle that there are no topics about choices […]
Oct 20, 2014 |
Insight for DBAs, MySQL, Percona Events, Percona Live
Autumn is a season of MySQL-related conferences and I’m about to hit the road to speak and attend quite a few of them. This week I’ll participate in All Things Open, a local conference for me here in Raleigh, N.C. and therefore one I do not have to travel for. All Things Open explores open […]
Oct 17, 2014 |
MySQL, Percona Software
In many write-intensive workloads Innodb/XtraDB storage engines you may see hidden and dangerous “debt” being accumulated – unpurged transaction “history” which if not kept in check over time will cause serve performance regression or will take all free space and cause an outage. Let’s talk about where it comes from and what can you do […]
Oct 10, 2014 |
MySQL, Percona Software
MySQL has information_schema.tables that contain information such as “data_length” or “avg_row_length.” Documentation on this table however is quite poor, making an assumption that those fields are self explanatory – they are not when it comes to tables that employ compression. And this is where inconsistency is born. Lets take a look at the same table […]
Sep 25, 2014 |
MySQL, Percona Events
I’m excited to once again be heading to San Francisco next week for Oracle OpenWorld, and also very pleased to have a booth there this year along with some great speakers from Percona. The scope of Oracle OpenWorld 2014, which runs Sept. 28-Oct. 2, is enormous and there are several keynotes and sessions I’m looking […]
Sep 16, 2014 |
MySQL, Percona Live
Percona Live London 2014 is fast approaching – November is just around the corner. This year’s conference, November 3-4, will be even bigger and better than last year thanks to the participation of leading MySQL experts the world over (including you!). The Percona Live London MySQL Conference is a great event for users of any […]
Jul 30, 2014 |
Insight for DBAs, MySQL
As we know different storage engines in MySQL have different file structures. Every table in MySQL 5.6 must have a .frm file in the database directory matching the table name. But where the rest of the data resides depends on the storage engine. For MyISAM we have .MYI and .MYD files in the database directory […]
Jul 29, 2014 |
Insight for DBAs, MySQL
One of the common causes of downtime with MySQL is running out of connections. Have you ever seen this error? “ERROR 1040 (00000): Too many connections.” If you’re working with MySQL long enough you surely have. This is quite a nasty error as it might cause complete downtime… transient errors with successful transactions mixed with […]
Jul 23, 2014 |
MySQL
If you try to install the TokuDB storage engine on a modern Linux distribution it might fail with following error message: 2014-07-17 19:02:55 13865 [ERROR] TokuDB will not run with transparent huge pages enabled. 2014-07-17 19:02:55 13865 [ERROR] Please disable them to continue. 2014-07-17 19:02:55 13865 [ERROR] (echo never > /sys/kernel/mm/transparent_hugepage/enabled) You might be curious […]
Jun 25, 2014 |
Insight for DBAs, MySQL
Earlier this month I wrote about vmstat iowait cpu numbers and some of the comments I got were advertising the use of util% as reported by the iostat tool instead. I find this number even more useless for MySQL performance tuning and capacity planning. Now let me start by saying this is a really tricky and deceptive number. Many […]
Jun 17, 2014 |
MySQL, Percona Services, Percona Software
The Percona Backup Service managed service launched today. It ensures properly configured backups run successfully as scheduled on customer provided backup storage – whether on premise, in the cloud, or a hybrid. Backup issues or production data recovery are efficiently handled by Percona Managed Services technicians with deep knowledge of MySQL. As we state in […]
Jun 09, 2014 |
Insight for Developers, MySQL, Webinars
The architecture of MySQL-powered applications is one of my favorite topics to talk about. It’s a very important topic because if you do not get the architecture right then you’re very likely to fail with your project – either from the standpoint of failing with performance, high availability or security requirements… or failing to deliver […]
Jun 03, 2014 |
Benchmarks, Insight for DBAs, MySQL, Percona Software
I’ve been running a benchmark today on my old test box with conventional hard drives (no raid with BBU) and noticed something unusual in the CPU utilization statistics being reported. The benchmark was run like this:
|
sysbench --num-threads=64 --max-requests=0 --max-time=600000 --report-interval=10 --test=oltp --db-driver=mysql --oltp-dist-type=special --oltp-table-size=1000000 --mysql-user=root --mysql-password=password run |
Which means: create 64 threads and hammer the database with queries as quickly as possible. As the test […]
May 29, 2014 |
Insight for DBAs, MySQL
MySQL has status variables “questions” and “queries” which are rather close but also a bit different, making it confusing for many people. The manual describing it might not be very easy to understand:
|
Queries The number of statements executed by the server. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count COM_PING or COM_STATISTICS commands. Questions The number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries variable. This variable does not count COM_PING, COM_STATISTICS, COM_STMT_PREPARE, COM_STMT_CLOSE, or COM_STMT_RESET commands. |
In a nutshell if you’re not using prepared statements the big difference between those is what “Questions” would count stored procedure calls as […]