What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

Kevin Burton’s NEW FeedBlog

You may say I'm a dreamer, but I'm not the only one.


Linux and SSD @ 5k Random 4k WritesOctober 9

Apparently, Linus has a new Intel drive he’s happy with:

In contrast, the Intel SSD does about 8,500 4kB random writes per second. Yeah, that’s over eight thousand IOps on random write accesses with a relevant block size, rather than some silly and unrealistic contiguous write test. That’s what I call solid-state media.

They are almost certainly using an internal log structured filesystem to see this type of performance.

Nice that we’re seeing actual number on this drive now.

      
Apple BrickOctober 9

If Apple ships this I certainly plan on buying one:

200810091215

      
Google Showing Feedburner Redirect URLs in Search ResultsOctober 2

Google is showing Feedburner redirect URLs in their search results.

200810021519

They’re using the link:

http://feeds.latimes.com/~r/topoftheticket/~3/408704356/palin-couric.html

which is a Feedburner redirect URL which they use in RSS feeds to help in tracking.

Google owns Feedburner so it’s a bit embarrassing that they’re making such an obvious mistake.

This might be distorting the stats for the LA Times. Feedburner may in fact be ignoring these when they see that the HTTP referrer is in fact from Google (and not empty or from a web based reader).

The biggest problem with the implementation that Feedburner is using is that it’s impossible to reconstruct the original URL from the redirect URL once it’s in the wild.

A few years ago (when they were just a newly hatched startup and I was working on Rojo) I proposed that they use a URL that encodes the target URL and only adds about 30 additional characters.

The template would be:

http://feeds.latimes.com/r/$nonc


MySQL InnoDB Isolated Patches for 5.0.37, 5.0.67 and Percona’s 5.0.68 Branch.October 2

We’re migrating from MySQL 4.1.x to 5.0.x at work and one of the key features we need is the ability to freeze InnoDB and prevent it from writing to disk.

We do this to aid in syncing masters and slaves and performing backups.

Basically we freeze a master, copy the data to a new slave, unfreeze the master, bring up the new slave, and then setup replication to start from right after we froze the master.

It’s MUCH faster than performing a mysqldump (20x faster). A mysqldump tends to both do a ton of random seeks on disk as well as burn up a single core.

This type of ‘innodb hot copy’ is only bottlenecked on disk and gigabit ethernet IO.

In theory you can sync at 125MB/s…

David ended up spending the time to isolate, test, and retarget the patch for various MySQL versions.

We tested this and one of the interesting properties is that it can actually continue to execute UPDATES as long as you’re using innodb_flush_log_at_trx_commit=0.

Anyway, I’d really like to see this land in Drizzle, and MySQL +5.0.69.

It only modifies eight lines of code so seems like a pretty no brainer.

Up until this point we were using xfs_freeze but ran into a nasty bug where read() would block during a file copy. Apparently, xfs_freeze was designed to block for writes but not for reads.


Pretty InnoDB Buffer Pool StatsSeptember 14

The output from SHOW INNODB STATUS isn’t very pretty or easy to use. Seriously, other than Heikki who thinks in 16k block sizes? :-)

A few lines of bash magic fixes this problem.

Now I can quickly see buffer pool stats in the following format:

buffer pool size: 27999076352 bytes (27G) used: 16563568640 bytes (16G) (59.00%) modified db pages: 4747952128 bytes (4G) (16.00%)

Here’s what the code looks like:

#!/bin/sh # Pretty print InnoDB buffer stats. # # SHOW INNODB STATUS looks like: # # Buffer pool size 1708928 # Free buffers 1142066 # Database pages 565676 # Modified db pages 123467 pp() { value=$1 if [ $value -gt 1000000000 ]; then value=$(expr $value / 1000000000)G elif [ $value -gt 1000000 ]; then value=$(expr $value / 1000000)M elif [ $value -gt 1000 ]; then value=$(expr $value / 1000)K fi echo $value } perc() { nr=$1 total=$2 echo "scale = 2; ($nr / $total ) * 100" | bc } # don't let bash screw up multiline parsing (I hate this bug) IFS= stats=$(echo "SHOW ENGINE INNODB STATUS\G" | mysql -N) #echo $stats set -o noglob buffer_pool_size=$(echo $stats | grep -E '^Buffer pool size' | grep -Eo '[0-9]+$') buffer_pool_size=$(expr $buffer_pool_size * 16384) free_pool_size=$(echo $stats | grep -E '^Free buffers' | grep -Eo '[0-9]+$') free_pool_size=$(expr $free_pool_size * 16384) modified_db_pages=$(echo $stats | grep -E '^Modified db pages' |