You are here

MySQL Performance Blog

MySQL Performance Blog
Checked: 5 min 8 sec ago
Updated: 5 min 8 sec ago
Update every: 2 hours

Subscribe to MySQL Performance Blog

Picking datatype for STATUS fields

MySQL Performance Blog - Sun, 10/08/2008 - 6:30am

Quite commonly in the applications you would need to use some kind of “status” field - status of order - “new”, “confirmed”, “in production”, “shipped” status of job, message etc. People use variety of ways to handle them often without giving enough thought to the choice which can cause problems later.

New MySQL Community release - Great job MySQL !

MySQL Performance Blog - Sat, 09/08/2008 - 3:22am

Wow!. New MySQL Community release - MySQL 5.0.67 is just out which as manual says first community release since 5.0.51b. I just recently complained about community release irregularity and I’m glad to see the new release after all.

I only hope this will not be one time event but MySQL will follow its own promises of regular schedule of source and binary MySQL Community releases.

Predicting Performance improvements from memory increase

MySQL Performance Blog - Fri, 08/08/2008 - 4:24am

One common question I guess is how much should I see performance improved in case I increase memory say from 16GB to 32GB. The benefit indeed can be very application dependent - if you have working set of say 30GB with uniform data access raising memory from 16GB to 32GB can improve performance order of magnitude by converting very IO bound load to CPU bound, it is well possible to see limited gains - if your working set already fits in 16GB you may not see any significant gains upgrading memory to 32GB.

Will Percona Support Drizzle ?

MySQL Performance Blog - Thu, 07/08/2008 - 1:15am

People are asking me if Percona will support Drizzle and what is in general our position regarding this project.

128GB or RAM finally got cheap

MySQL Performance Blog - Tue, 05/08/2008 - 4:15am

I did not usually go to “Elite” servers on Dell web site but looking at customers system today I went to check Dell Poweredge R900. This monster takes up to 4 Quad Core CPUs and has 32 memory slots, which allows to get 128GB of memory with 4GB of memory chips. This means upgrade to default configuration to 128GB of memory will cost you just $9600 (list price). I’ve been able to configure on a web the system with 8*2.5″ hard drives RAID and 2 CPUs (just as we usually configure PowerEdge 2950) with 128GB of RAM for about $16000.

To find the bottleneck, stop guessing and start measuring

MySQL Performance Blog - Mon, 04/08/2008 - 2:01pm

We recently examined a customer’s system to try to speed up an ETL (Extraction, Transformation and Loading) process for a big data set into a sort of datamart or DW.  What we typically do is ask customers to run the process in question, and then examine what’s happening.  In this case, the (very large, powerful) database server was almost completely idle, with virtually no I/O activity or CPU usage.  So we looked at the server where the ETL process was running.  It was running at 25% CPU usage and was writing some files to disk, but not waiting on I/O.

Userstats patches with information schema support

MySQL Performance Blog - Mon, 04/08/2008 - 11:20am

Recently, we added information schema support to Google’s userstats patch.

There are three information schema tables added: user_statistics, table_statistics, index_statistics.

One can now use select * from information_schema.user_statistics along with show user_statistics.

Download 5.0.62 version
Download 5.1.26 version

Recovery beyond data restore

MySQL Performance Blog - Sun, 03/08/2008 - 6:34am

Quite frequently I see customers looking at recovery as on ability to restore data from backup which can be far from being enough to restore the whole system to operating state, especially for complex systems.

Instead of looking just at data restore process you better look at the whole process which is required to bring system to the working state, including data consistency requirements and times. This has to be considered for different data loss scenarios which may happen.

Troubleshooting Relay Log Corruption in MySQL

MySQL Performance Blog - Sun, 03/08/2008 - 3:56am

Have you ever seen the replication stopped with message like this:

Last_Error: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.

How adding another table to JOIN can improve performance ?

MySQL Performance Blog - Sat, 02/08/2008 - 5:10am

JOINs are expensive and it most typical the fewer tables (for the same database) you join the better performance you will get. As for any rules there are however exceptions :)

Percona turns two today !

MySQL Performance Blog - Sat, 02/08/2008 - 2:34am

July 31st 2006 was my last day working for MySQL and August 1st I started what later was incorporated Percona with Vadim joining me September 1st as co-founder.

Two years is a significant anniversary for any startup - surviving (and being profitable) for 2 years can be seen as validation of our business model and strategy and we’re quite happy about this.

Percona RPMS for RedHat 5 / CentOS 5 x86_64

MySQL Performance Blog - Fri, 01/08/2008 - 12:19am

We prepared RPMs of our release for RedHat 5 / CentOS 5 x86_64 platform.

There was question what patcheset includes and if there is manuals.
We have:

Quick tip: how to convert tables to InnoDB

MySQL Performance Blog - Wed, 30/07/2008 - 7:08pm

I use Maatkit for a lot of grunt work and thought you might appreciate this quick tip. Suppose you have a bazillion tables to convert from MyISAM to InnoDB, but they are mixed in with other tables that are already InnoDB, or are another storage engine that you don't want to touch.

  1. mk-find <db_name> --engine MyISAM --exec "ALTER TABLE %D.%N ENGINE=INNODB" --print

Report from OSCON 2008

MySQL Performance Blog - Mon, 28/07/2008 - 4:04am

So I’m back from OSCON 2008. As usually it is fun conference to attend. Though I could only come for couple of days (Wed/Thu) as things are too busy here.

The #1 mistake hosting providers make for MySQL servers

MySQL Performance Blog - Fri, 25/07/2008 - 9:13pm

This article is not meant to malign hosting providers, but I want to point out something you should be aware of if you’re getting someone else to build and host your servers for you.

Most hosting providers — even the big names — continue to install 32-bit GNU/Linux operating systems on 64-bit hardware. This is a serious mistake.

Daniel Nichter and Percona join forces on Maatkit

MySQL Performance Blog - Fri, 25/07/2008 - 12:54pm

Daniel Nichter, the author of several very useful MySQL tools, has joined with Percona to continue to improve Maatkit — the “other” toolkit we rely on daily. Daniel is a skilled Perl programmer who understands MySQL. He is in a perfect position to move the project forward on a more regular basis than I’ve been able to commit time to since I’ve taken on a leadership role in Percona.

MySQL Binaries with patches

MySQL Performance Blog - Fri, 25/07/2008 - 2:58am

As there were many requests for Debian binary packages in our announcement of MySQL releases with custom patchsets, we decided to play with it and built .deb, which you can find there:

Sphinx 0.9.8 is released just in time for OSCON 2008

MySQL Performance Blog - Mon, 21/07/2008 - 2:01am

As you probably already seen in a post by Baron, Sphinx Release 0.9.8 is finally out, just in time for OSCON 2008. Even though it is “minor release” if you look at the number, it is major release in practice (and you can view snapshots as minor releases). The changes since 0.9.7 are dramatic with over 70 new features corresponding to over 15 months of work.

Missing Data - rows used to generate result set

MySQL Performance Blog - Sun, 20/07/2008 - 5:01pm

As Baron writes it is not the number of rows returned by the query but number of rows accessed by the query will most likely be defining query performance. Of course not all row accessed are created equal (such as full table scan row accesses may be much faster than random index lookups row accesses in the same table) but this is very valuable data point to optimize query anyway.

MySQL 5.1 is to reach GA state - all to arms !

MySQL Performance Blog - Sun, 20/07/2008 - 12:48am

MySQL 5.1 was in RC stage for around 10 months now finally planned to be released as GA soon. As Monty Says MySQL 5.1.26 will be renamed as GA if no serious bugs are discovered.

Lets help MySQL to ensure GA release will be indeed GA quality and support Monty in his call to ensure this RC candidate works well for you.

MySQL releases with Percona patchsets

MySQL Performance Blog - Thu, 17/07/2008 - 4:08am

Percona has a strong team of MySQL developers and consultants on board, so we decided to prepare MySQL releases with our patches and third-party patches which we think are very useful. We actually use these internally and for our customers.

Current releases include:

How to Outrun the Lions

MySQL Performance Blog - Sun, 13/07/2008 - 4:11pm

I just posted slides from a talk I gave at a Facebook application developer conference in Las Vegas this weekend. The talk is titled Outrun the Lions. Our customers run several of the top 10 applications on Facebook right now (as measured by the number of active users), and I revealed the secrets to building applications that can handle the load.

LVM Configuration mistake to Avoid

MySQL Performance Blog - Thu, 10/07/2008 - 4:34am

One of our customers was setting up box for MySQL LVM backups. The box had 2 RAID volumes (internal drives and enclosure) with database being stored on enclosure drives and internal drives used pretty much for OS and logs (database grew too large and so was moved to enclosure completely).

As database was large and active I thought it would make sense to have LVM undo space located on the internal drives so LVM and backup has less backup on the running system.

Logging your MySQL command line client sessions

MySQL Performance Blog - Tue, 08/07/2008 - 7:13pm

Baron recently wrote about very helpful but often forgotten about “Pager” feature of command line client. There is another one which falls into the same list - the –tee option.

Specifying –tee=/path/to/file.log you can get all session content (everything typed in and printed out) stored in the log file. Quite handy for example to keep track of changes done on production.

Velocity Presentation Slides Published

MySQL Performance Blog - Tue, 08/07/2008 - 5:39pm

I’ve now published slides from my talk at Velocity conference on Percona web site. Enjoy.

Entry posted by peter | No comment


Subscribe to MySQL Performance Blog