Ok, Yves pushed up two patches onto launchpad the other Day. I wanted to get a chance to fully test out the patches before blogging about them, and as I mentioned in my previous blog post, I have been dealing with some hardware issues. I spent the day testing out these patches, running them through the paces looking for potential slowdowns or issues, and everything looks good. I am going to limit this post to just the new features, as I am still finalizing a few benchmarks as I write this.
First the patches work against 5.1.30. I have been running all my recent tests against these without any issues so far ( knock on wood ).
Second you will notice 2 patches. There is a patch to memcached which will only work in 1.2.5 right now ( 1.2.6 changes how the memcached LRU queue gets updated ). This patch is probably only useful for Waffle grid deployments as it changes a get in memcached to not only retrieve an object, but put the object to the front of the queue for eviction. This ensures that this useless data will be cleared first when we need space. I blogged about the why a few days ago if your interested. Everything will still work without the memcached patch, but this improves performance significantly. Significantly as in this patch increased my DBT2 cache hit ratio from around 65% to 95% and dbt2 scores where 50% higher with the patched memcached. Benchmarks will follow shortly.
Also you will see a new my.cnf variable called “innodb_memcached_servers”. This can be used to set your memcached servers for waffle grid, so no more recompiling hardcoded servers!
And finally you can access hit/miss stats directly from the database, these are available when you run show innodb status.
Memcached puts 386564
Memcached hits 336566
Memcached misses 39942
I have a slew of benchmarks I will be putting up in the next couple of days including 100Mb-vs-1000Mb-vs-localhost numbers, benchmarks with the memcached patch, and more.