Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "test/unit"
- require 'rubygems'
- require 'mysql'
- require 'thread'
- DBC = {
- :username => 'perf_test',
- :password => 'perf_test',
- :host => '127.0.0.1',
- :db => 'perf_test'
- }
- class PerfTest < Test::Unit::TestCase
- NTEST=2
- SQL_STMT = "select sleep(1) from dual"
- def test_threads
- timer = Time.now
- NTEST.times { execute_query }
- puts "Time to query #{NTEST} serially: #{Time.now - timer}"
- threads = []
- timer = Time.now
- NTEST.times { threads << Thread.new {execute_query } }
- threads.collect{|t| t.value}
- puts "Time to query #{NTEST} multi threaded: #{Time.now - timer}"
- end
- def execute_query
- conn = Mysql.new(DBC[:host], DBC[:username], DBC[:password], DBC[:db], 3306, nil, nil)
- res = conn.query(SQL_STMT)
- res = conn.query(SQL_STMT)
- while (row =res.fetch_row)
- row
- end
- res.free
- conn.close
- end
- end
Add Comment
Please, Sign In to add comment