4						
						
					MySQL Conference Liveblogging: Benchmarking Tools (Wednesday 4:25PM)
Posted by Artem Russakovskii on April 16th, 2008 in Databases 
											
- Tom Hanlon of MySQL presents
- Benchmarking tools
- mysqlslap (with MySQL 5.1)
- sql-bench
- supersmack – Jeremy Zawodny's tool
- Apache Bench (combined with some sample PHP scripts)
- MySQL's benchmark() function
- mybench
- WAST
- JMeter
 
- sql-bench
- pros
- ubiquitous
- long history of use
 
- cons
- single thread
- Perl
- not always real-life test cases (create 10k tables?)
 
- list of tests follows
 
- pros
- supersmack
- configurable, flexible
- 1000 queries, 50 users
- super-smack -d mysql select-key-smack 50 1000
 
- can modify queries to be closer to what your own application uses
- pros
- benches concurrent connections
- well documented
 
- cons
- test language sucks
 
 
- Apache Bench
- webserver benchmarking tool
- point to a webserver, utilizes concurrent users
- siege, httperf, httpload are similar
- 404 errors deliver really quickly, so make sure to check for those
 
- benchmark()
- tests MySQL's internal functions
- SELECT BENCHMARK(10000, SHA1(MD5(rand())));
- pros
- simple to use
 
- cons
- only benchmarks functions, can be overcome (see next)
 
- creative use: write your own queries as functions and then run benchmark() on them
 
- MyBench
- simple
 
- WAST
- pros
- flexible
- easy to use (GUI)
- replay example click trail from browsing
 
- cons
- Windows only
 
 
- pros
- Jmeter
- Java based app for testing web applications
- hard to built tests but once you do, they run really well
- configuration done using test plans, which is more involved than just typing a cmd line
- can output tables, graphs
- can be configured to run endlessly, as background noise
- good documentation
- flexible
 
- mysqlslap
- internally developed benchmark tool
- ships with 5.1
- feature rich
- mysqlslap –user=john
- –auto-generate-sql
 or
 –query="select blabla …" or –query=file
- –concurrency=100
- –iterations=5
- –engine=myisam
 
- audience members additionally mention grinder, openSTA, yslow (ties in with FireBug), selenium
In the meantime, if you found this article useful, feel free to buy me a cup of coffee below.
 beer planet is a blog about technology, programming, computers, and geek life. It is run by Artem Russakovskii - a local San Francisco geek who is currently pursuing his own projects and regularly enjoys hacking Android, PHP, CSS, Javascript, AJAX, Perl, and regular expressions, working on Wordpress plugins and tools, tweaking MySQL queries and server settings, administering Linux machines, blogging, learning new things, and other geeky stuff.
 beer planet is a blog about technology, programming, computers, and geek life. It is run by Artem Russakovskii - a local San Francisco geek who is currently pursuing his own projects and regularly enjoys hacking Android, PHP, CSS, Javascript, AJAX, Perl, and regular expressions, working on Wordpress plugins and tools, tweaking MySQL queries and server settings, administering Linux machines, blogging, learning new things, and other geeky stuff.



