Update: Benchmark HSCALE with MySQL Proxy 0.7.0 (svn) against 0.6.1
Earlier today I posted these benchmark results testing HSCALE and MySQL Proxy performance.
As Jan Kneschke (the author of MySQL Proxy) pointed out there are quite some improvements in the current development version (svn trunk). So I gave revision 369 a try.
Tests were all the same as mentioned in my previous post. And indeed we see quite dramatic improvements. While the performance of the Lua script stayed almost the same the footprint of the proxy itself sank to only 50 to 65%. Here are the numbers:
|Version / Concurrency||MySQL||MySQL Proxy||Empty Lua||Tokenizer||QueryAnalyzer||HSCALE w/o partitions||HSCALE w/ partitions|
|0.6.1 / 40||217||1302||7667||7091||6162||7552||7577|
|0.6.1 / 20||217||557||2536||4532||4524||4325||4564|
|0.6.1 / 10||287||641||675||1179||1813||738||2711|
|0.6.1 / 1||1906||3914||4574||5299||5411||4465||6957|
|0.7.0 / 40||229||1061||5165||4786||5844||6163||5950|
|0.7.0 / 20||222||331||2553||1900||2968||3927||4074|
|0.7.0 / 10||297||489||499||930||1601||550||2413|
|0.7.0 / 1||1937||2895||2614||3814||4499||3235||5578|
(all values are “time in ms”)
Looking at the highlighted rows (concurrency = 10) you see that the difference between the MySQL server and MySQL Proxy is much smaller for the svn version. This is a great step forward!
If you compare all the other numbers and relate them to the execution time of the MySQL Proxy you see that the overhead stayed pretty much the same. So we see great improvements in general footprint but not in Lua execution.
And still the test does not scale well beyond 10 parallel threads. As Kay Roepke (co-author of MySQL Proxy) pointed out MySQL Proxy is currently single threaded and thus improvements on this were not expected (but would have been fine 😉 ).
I hope version 0.7.0 is to be released quite soon (last commit in SVN is from February??? according to http://svn.mysql.com/fisheye/browse/mysql-proxy) since the performance improvement is simply great and this would help MySQL Proxy gaining more acceptance as the “latency” is often the number one “reason” not to try out MySQL Proxy.