Buy Percona ServicesBuy Now!

Innodb Double Write

 | August 4, 2006 |  Posted In: Insight for DBAs

One of very interesting techniques Innodb uses is technique called “doublewrite” It means Innodb will write data twice when it performs table space writes – writes to log files are done only once. So why doublewrite is needed ? It is needed to archive data safety in case of partial page writes. Innodb does not […]

Read More

MySQL Crash Recovery

 | July 30, 2006 |  Posted In: Insight for DBAs

MySQL is known for its stability but as any other application it has bugs so it may crash sometime. Also operation system may be flawed, hardware has problems or simply power can go down which all mean similar things – MySQL Shutdown is unexpected and there could be various inconsistences. And this is not only […]

Read More

Returning to InnoDB scalability

 | July 28, 2006 |  Posted In: Insight for DBAs

I’m again returning to InnoDB scalability and related bug #15815 as it hurts many users and customers using multi-cpu servers. Short intro into problem: On 4-CPU box 1 thread executes full-table scan select query for 8 sec, but with 4 threads – each thread executes query for 240 sec. It is very strange as threads […]

Read More

SHOW INNODB STATUS walk through

 | July 17, 2006 |  Posted In: Insight for DBAs

Many people asked me to publish a walk through SHOW INNODB STATUS output, showing what you can learn from SHOW INNODB STATUS output and how to use this info to improve MySQL Performance. To start with basics SHOW INNODB STATUS is command which prints out a lot of internal Innodb performance counters, statistics, information about […]

Read More

How much memory Innodb locks really take ?

 | July 13, 2006 |  Posted In: Insight for DBAs

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

Read More

INSERT INTO … SELECT Performance with Innodb tables.

 | July 12, 2006 |  Posted In: Insight for DBAs

Everyone using Innodb tables probably got use to the fact Innodb tables perform non locking reads, meaning unless you use some modifiers such as LOCK IN SHARE MODE or FOR UPDATE, SELECT statements will not lock any rows while running. This is generally correct, however there a notable exception – INSERT INTO table1 SELECT * […]

Read More

Choosing proper innodb_log_file_size

 | July 3, 2006 |  Posted In: Insight for DBAs

If you’re doing significant amount of writes to Innodb tables decent size of innodb_log_file_size is important for MySQL Performance. However setting it too large will increase recovery time, so in case of MySQL crash or power failure it may take long time before MySQL Server is operational again. So how to find the optimal combination […]

Read More

What MySQL buffer cache hit rate should you target

 | June 29, 2006 |  Posted In: Insight for DBAs

“What cache hit rate is good for optimal MySQL Performance” is typical question I’m asked. It could by MyISAM key_buffer or Innodb innodb_buffer_pool it does not really matter. In both cases trying to come up with constant “good” hit rate is looking for trouble. Well of course you can name 100% hit rate and all […]

Read More

FreeBSD tests

 | June 15, 2006 |  Posted In: Benchmarks

I’m continuing my experiments with different OS and today I tested FreeBSD 6.0 on my box. (more details about box and benchmark see here https://www.percona.com/blog/2006/06/13/quick-look-at-ubuntu-606/). Initially I was very pessimistic about FreeBSD, as results were (in transactions/sec, more is better. for comparison the results from Suse 10.0): InnoDB threads FreeBSD 6 Suse 10.0 Suse/ FreeBSD […]

Read More