The binlog sync contention was a problem from a long date in
MySQL.. Well, it was less visible few years ago until MySQL
performance was quite limited even without binlog enabled ;-))
However, with all latest performance improvement came with MySQL
5.5 and now with 5.6, it became unacceptable to see all these
excellent goodies simply killed once a user enabling
binlog..
Good news -- the latest MySQL 5.6 labs release is coming with
freshly released Binlog Group Commit which is greatly solving
this issue. You may find all details about in the Mat's article, while my intention in this post
is just to extend little bit already presented benchmark
results..
Well, the true performance problem with MySQL binlog is coming
not really when it's enabled, but since the "sync_binlog" is set
to 1 (means flush binlog to disk …
This article describes how I tuned MariaDB to give the best write throughput with SSD based storage.
When you have a write-heavy application writing into InnoDB, you will probably experience the InnoDB Checkpoint Blues. The effect manifests as stalls – short periods of time where the troughput falls to zero and I/O activity goes crazy. The phenomenon is well known and described i.e. here. More background about checkpointing can be found …
[Read more]A few days ago MariaDB, MySQL and Percona all three released new versions of the 5.5 server. So I decided it’s time to run sysbench once more and compare the OLTP performance. The test candidates are:
- MariaDB-5.5.24, using either XtraDB (default) or InnoDB
- MySQL-5.5.25
- Percona Server 5.5.24-26.0
For the benchmarks I used our trusty old pitbull machine which has 24 cpu cores, 24G of RAM and a nice RAID-0 composed of 3 SAS SSD.
The benchmark was sysbench-0.5 multi-table OLTP, using 8 tables with total 10G of data. InnoDB buffer pool was 16G, InnoDB log group capacity 4G (the maximum for MySQL). The mysqld process was constrained to 16 cores, sysbench to the other 8.
The only nonstandard tuning was for I/O scalability: innodb_io_capacity = 20000 and innodb_flush_neighbor_pages = none (for Percona Server and MariaDB/XtraDB). See …
[Read more]This article describes how I tuned MariaDB to give the best write throughput with SSD based storage.
When you have a write-heavy application writing into InnoDB, you will probably experience the InnoDB Checkpoint Blues. The effect manifests as stalls – short periods of time where the troughput falls to zero and I/O activity goes crazy. The phenomenon is well known and described i.e. here. More background about checkpointing can be found …
[Read more]
The week started with MySQL Innovation Day , which included some
great presentations for the Oracle engineers and the MySQL
community.
Today though is MySQL Day at SELF and it is packed
with top MySQL presentations from Oracle and the MySQL Community
including: Sheeri Cabral, Ronald Bradford, Peter Zaitsev, Baron Schwartz, Jeff Mace,
Charles Bell, Craig Sylvester, David Stokes and even
myself.
If your in the area we hope to see you !
I am happy to announce next version Percona XtraDB Cluster 5.5.24, which is mostly jump to the current version of Percona Server.
It includes an important bug fix:
Binaries are available from downloads area or from our repositories.
For this release we provide binaries for Ubuntu 12.04.
If you want to know more how to migrate to XtraDB Cluster, you can check our recent webinar Migrating To Percona XtraDB Cluster.
This is an General Availability release. We did our best to eliminate bugs and problems during alpha and …
[Read more]Percona will be at Southeast Linux Fest tomorrow and Saturday. We’re supporting the event, and we hope to meet you there. If you’ve never been, this is a great regional show that’s grown enormously in the last few years. Peter and I will both be speaking: Peter about optimizing MySQL configuration, and I will talk about inspecting MySQL’s performance and scalability via TCP packet headers.
In addition, the entire Percona Toolkit and Online Tools team (me, Daniel Nichter, Brian Fraser, and Miguel Trias) will be there. This is your perfect opportunity to meet the engineers writing the Percona Toolkit code. Direct access to the developers is a valuable chance to tell us your wishes, explain your gripes or troubles, and get help and advice on how you’re using the tools. We can also tell you what we’re currently working on and what you may expect in future releases. We …
[Read more]From a Tumblr engineering blog post:
Tumblr is one of the largest users of MySQL on the web. At present, our data set consists of over 60 billion relational rows, adding up to 21 terabytes of unique relational data. Managing over 200 dedicated database servers can be a bit of a handful, so naturally we engineered some creative solutions to help automate our common processes.
Today, we’re happy to announce the open source release of Jetpants, Tumblr’s in-house toolchain for managing huge MySQL database topologies. Jetpants offers a command suite for easily cloning replicas, rebalancing shards, and performing master …
[Read more]A coworker came to me with a perplexing issue. He wanted to know why these two queries were not returning the same results:
mysql> SELECT COUNT(*) -> FROM parent -> WHERE id NOT IN (SELECT parent_id FROM child); +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (7.84 sec)
mysql> SELECT COUNT(*) -> FROM parent p -> WHERE NOT EXISTS(SELECT 1 -> FROM child c -> WHERE p.id = c.parent_id); +----------+ | count(*) | +----------+ | 5575 | +----------+ 1 row in set (2.95 sec)
At first (and second, and third) glance these two queries look identical. It obviously is an exclusion join and because the MySQL optimizer is what it is, I decided to rewrite it as a LEFT JOIN to see what results came back:
mysql> SELECT …[Read more]
We finish our series on data types by talking about ENUM, SET and all the different sql modes.
Conferences
The 1st
Latin American Conference about MySQL, NoSQL and Cloud
technologies, will be held in Buenos Aires from Tuesday, June
26th through Thursday, June 28th at the Puerto Madero Hilton
Hotel.
MySQL Connect will be held in San Francisco on Saturday September 29th and Sunday September 30th. This is a technical conference about MySQL, bringing together MySQL engineers at Oracle and the MySQL Community, and will include sessions about the latest MySQL features and roadmaps.