I’m using Amazon’s Relational Database Service which runs MySQL 5.1 on a Large EC2 instance for me.
I have over 2 million records in a Rails application that I index with Sphinx.
Now I’m looking at MySQL Compression. Sphinx can use it with this switch from the Sphinx Docs
mysql_connect_flags = 32 # enable compression
Sphinx Indexing (to a RAM disk) w/o compression
real 15m17.159s
user 14m20.330s
sys 0m28.630s
Sphinx Indexing (to a RAM disk) w/ MySQL Compression:
real 15m45.433s
user 14m58.080s
sys 0m13.310s
So no material difference between the two.
As an aside:
Sphinx Indexing (to an EBS boot disk) w/ MySQL Compression:
real 16m0.305s
user 14m56.730s
sys 0m16.230s
so it looks like using the RAM disk on EC2 doesn’t affect indexing performance all that much.
MySQL Compression for Rails
In parallel I was also looking up how to enable MySQL compression in a Rails app using the MySQL gem