August 29, 2014

How much memory Innodb locks really take ?

After playing yesterday a bit with INSERT … SELECT I decided to check is Innodb locks are relly as efficient in terms of low resource usage as they are advertised. Lets start with a bit of background – in Innodb row level locks are implemented by having special lock table, located in the buffer pool […]

InnoDB memory usage

There are many questions how InnoDB allocates memory. I’ll try to give some explanation about the memory allocation at startup. Some important constants: NBLOCKS=count of block in innodb_buffer_pool = innodb_buffer_pool_size / 16384 OS_THREADS= if (innodb_buffer_pool_size >= 1000Mb) = 50000 else if (innodb_buffer_pool_size >= 8Mb) = 10000 else = 1000 (it’s true for *nixes, for Windows […]

MySQL Server Memory Usage

Every so often people ask me the question how should they estimate memory consumption by MySQL Server in given configuration. What is the formula they could use. The reasons to worry about memory usage are quite understandable. If you configure MySQL Server so it uses too small amount of memory it will likey perform suboptimally. […]

Why TokuDB hates Transparent HugePages

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 […]

OOM relation to vm.swappiness=0 in new kernel

I have recently been involved in diagnosing the reasons behind OOM invocation that would kill the MySQL server process. Of course these servers were primarily running MySQL. As such the MySQL server process was the one with the largest amount of memory allocated. But the strange thing was that in all the cases, there was […]

Notes from the Newb

Notes from the Newb. I’m relatively new to MySQL having come from the world of embedded micro-databases, and though I’m pretty familiar with a number of database systems, I’ve discovered that I have a lot to learn about MySQL. As a new member to the Percona team, I thought I’d have an ongoing blog theme […]

Q&A: Common (but deadly) MySQL Development Mistakes

On Wednesday I gave a presentation on “How to Avoid Common (but Deadly) MySQL Development Mistakes” for Percona MySQL Webinars. If you missed it, you can still register to view the recording and my slides. Thanks to everyone who attended, and especially to folks who asked the great questions. I answered as many as we had time […]

Percona XtraDB Cluster 5.5.34-25.9 is now available

Percona is glad to announce the release of Percona XtraDB Cluster 5.5.34-25.9 on December 4, 2013. Binaries are available from the downloads area or from our software repositories. Based on Percona Server 5.5.34-32.0 including all the bug fixes in it, Galera Replicator and on Codership wsrep API 5.5.34-25.9, Percona XtraDB Cluster 5.5.34-25.9 is now the […]

Percona XtraDB Cluster 5.6.14-25.1 Beta is now available

Percona is glad to announce the first Beta release of Percona XtraDB Cluster 5.6 on November 21st, 2013. Binaries are available from downloads area or from our software repositories. Based on Percona Server 5.6.14-62.0 including all the bug fixes in it, Galera Replicator 3.1 and on Codership wsrep API 5.6.14-25.1 is now the first BETA […]

Incremental backups with log archiving for XtraDB

Percona Server 5.6.11-60.3 has introduced a new feature called Log Archiving for XtraDB. This feature makes copies of the old log files before they are overwritten, thus saving all the redo log for a write workload. When log archiving is enabled, it duplicates all redo log writes in a separate set of files in addition […]