Skip to content

MySQL Performance Blog
Syndicate content
Everything about MySQL Performance 2010-07-24T21:39:04Z WordPress
Updated: 1 day 9 hours ago

Caching could be the last thing you want to do

Sat, 07/24/2010 - 19:39
I recently had a run-in with very popular PHP ecommerce package which makes me want to voice a recurring mistake I see in how many web applications are architected. What is that mistake? The ecommerce package I was working with depended on caching.  Out of the box it couldn’t serve 10 pages/second unless I enabled some features [...]
Categories: Blogs, MySQL, Open Source

Estimating Replication Capacity

Wed, 07/21/2010 - 03:51
It is easy for MySQL replication to become bottleneck when Master server is not seriously loaded and the more cores and hard drives the get the larger the difference becomes, as long as replication remains single thread process. At the same time it is a lot easier to optimize your system when your replication [...]
Categories: Blogs, MySQL, Open Source

SSD: Free space and write performance

Sun, 07/18/2010 - 04:46
( cross posting from SSD Performance Blog ) In previous post On Benchmarks on SSD, commenter touched another interesting point. Available free space affects write performance on SSD card significantly. The reason is still garbage collector, which operates more efficiently the more free space you have. Again, to read mode on garbage collector and write problem [...]
Categories: Blogs, MySQL, Open Source

Analyzing the distribution of InnoDB log file writes

Sat, 07/17/2010 - 04:23
I recently did a quick analysis of the distribution of writes to InnoDB's log files. On a high-traffic commodity MySQL server running Percona XtraDB for a gaming workload (mostly inserts to the "moves" table), I used strace to gather statistics about how the log file writes are distributed in terms of write size. [...]
Categories: Blogs, MySQL, Open Source

Data mart or data warehouse?

Thu, 07/15/2010 - 17:41
This is part two in my six part series on business intelligence, with a focus on OLAP analysis. Part 1 - Intro to OLAP Identifying the differences between a data warehouse and a data mart. (this post) Introduction to MDX and the kind of SQL which a ROLAP tool must generate to answer those queries. Performance challenges with [...]
Categories: Blogs, MySQL, Open Source

On Benchmarks on SSD

Thu, 07/15/2010 - 03:27
(cross post from SSD Performance Blog ) To get meaningful performance results on SSD storage is not easy task, let's see why. There is graph from sysbench fileio random write benchmark with 4 threads. The results were taken on PCI-E SSD card ( I do not want to name vendor here, as the problem is the same [...]
Categories: Blogs, MySQL, Open Source

SLC vs MLC

Wed, 07/14/2010 - 22:38
(cross posting from SSDPeformanceBlog.com ) All modern solid state drives use NAND memory based on SLC (single level cell) or MLC (multi level cell) technologies. Not going into physical details - SLC basically stores 1 bit of information, while MLC can do more. Most popular option for MLC is 2 bit, and there is movement into 3 [...]
Categories: Blogs, MySQL, Open Source

Scaling: Consider both Size and Load

Wed, 07/14/2010 - 01:53
So lets imagine you have the server handling 100.000 user accounts. You can see the CPU,IO and Network usage is below 10% of capacity - does it mean you can count on server being able to handle 1.000.000 of accounts ? Not really, and there are few reasons why, I'll name most important [...]
Categories: Blogs, MySQL, Open Source

Percona at OSCON 2010

Tue, 07/13/2010 - 17:08
This year we're participating in OSCON as a Sponsor and organizing some BOFs. I will be on the conference 21 and 22 if you're interested to chat. Here is the list of currently scheduled BOFs which I'll be hosting: Running Databases on Flash Storage Sphinx Search 2010 XtraDB, XtraBackup, Maatkit, Percona Server See you there. [...]
Categories: Blogs, MySQL, Open Source

Intro to OLAP

Mon, 07/12/2010 - 20:26
This is the first of a series of posts about business intelligence tools, particularly OLAP (or online analytical processing) tools using MySQL and other free open source software. OLAP tools are a part of the larger topic of business intelligence, a topic that has not had a lot of coverage on MPB. Because [...]
Categories: Blogs, MySQL, Open Source

High availability for MySQL on Amazon EC2 – Part 3 – Configuring the HA resources

Mon, 07/12/2010 - 17:15
This post is the third of a series that started here. From the previous of this series, we now have two working EC2 instances that are EBS based. The first instance is the monitor, usually an m1.small type instance and the second instance is hamysql, a large instance type. So far, we have configured [...]
Categories: Blogs, MySQL, Open Source

Query Response time histogram – new feature in Percona Server

Mon, 07/12/2010 - 02:44
Recently we had couple posts dedicated to performance monitoring, i.e. Color code your performance numbers, Performance Optimization and Six Sigma, so you may understand we consider stability of performance numbers as one of important area for database management. That's why we decided to add histogram of queries response times into Percona Server, and our software engineer [...]
Categories: Blogs, MySQL, Open Source

mk-query-digest, query comments and the query cache

Tue, 07/06/2010 - 03:31
I very much like the fact that MySQL allows you to embed comments into SQL statements. These comments are extremely convenient, because they are written into MySQL log files as part of the query. This includes the general log, the binary log and the slow query log. Maatkit includes tools which interact [...]
Categories: Blogs, MySQL, Open Source

How is join_buffer_size allocated?

Mon, 07/05/2010 - 15:56
When examining MySQL configuration, we quite often want to know how various buffer sizes are used. This matters because some buffers (sort_buffer_size for example) are allocated to their full size immediately as soon as they are needed, but others are effectively a "max size" and the corresponding buffers are allocated only as big as [...]
Categories: Blogs, MySQL, Open Source

Recover BLOB fields

Thu, 07/01/2010 - 19:00
For a long time long types like BLOB, TEXT were not supported by Percona InnoDB Recovery Tool. The reason consists in a special way InnoDB stores BLOBs. An InnoDB table is stored in a clustered index called PRIMARY. It must exist even if a user hasn't defined the primary index. The PRIMARY index pages are identified [...]
Categories: Blogs, MySQL, Open Source

Recall of Percona Server 5.1.47-11.0

Wed, 06/30/2010 - 05:15
Percona Server release 11.0 which we announced few days ago unfortunately was released with a bug introduced while implementing stripping comments in query cache which could cause server crash with certain types of queries if query cache is enabled. We have released Percona Server release 11.1 which includes a fix for this [...]
Categories: Blogs, MySQL, Open Source

High availability for MySQL on Amazon EC2 – Part 2 – Setting up the initial instances

Tue, 06/29/2010 - 16:23
This post is the second of a series that started here. The first step to build the HA solution is to create two working instances, configure them to be EBS based and create a security group for them. A third instance, the client, will be discussed in part 7. Since this will be a [...]
Categories: Blogs, MySQL, Open Source

Percona Server 5.1.47-rel11.0

Mon, 06/21/2010 - 15:35
Dear Community, Percona Server version 5.1.47-rel11.0 is available for download now. The changes in this release include: New features Percona Server is now based on MySQL 5.1.47, and XtraDB is now based on InnoDB plugin 1.0.8. XtraDB now uses the fast recovery code released in InnoDB Plugin version 1.0.8, instead of Percona's earlier fast-recovery code. Added the --percona_innodb_doublewrite_path [...]
Categories: Blogs, MySQL, Open Source

High availability for MySQL on Amazon EC2 – Part 1 – Intro

Thu, 06/17/2010 - 20:56
Like many, I have been seduced by the power and flexibility of Amazon EC2. Being able to launch new instances at will depending on the load, is almost too good to be true. Amazon has also some drawbacks, availability is not guaranteed and discovery protocols relying on Ethernet broadcast or multicast cannot be [...]
Categories: Blogs, MySQL, Open Source

What does Handler_read_rnd mean?

Wed, 06/16/2010 - 01:59
MySQL's SHOW STATUS command has two counters that are often confusing and result in "what does that mean?" questions: Handler_read_rnd Handler_read_rnd_next As I understand it, there is some historical context to the choice of names here, hearkening back to before I was involved with MySQL, way back when it was a wrapper around ISAM tables -- or even [...]
Categories: Blogs, MySQL, Open Source