Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- require 'rubygems'
- require 'active_record'
- require 'benchmark'
- ActiveRecord::Base.establish_connection(
- # :adapter => 'mysql',
- :adapter => 'mysqlplus',
- :database => 'test',
- :username => 'root',
- :password => '',
- :host => 'localhost',
- :pool => 10
- )
- class TestModel < ActiveRecord::Base
- end
- Benchmark.bm do |bm|
- bm.report do
- threads = ThreadGroup.new
- 10.times do |i|
- thread = Thread.new do
- rec = TestModel.first(:select => "id, 'query #{i} sleep 1 second' as data, sleep(1)")
- print "#{rec.data}\n"
- end
- threads.add(thread)
- end
- threads.list.each { |thread| thread.join }
- end
- end
- __END__
- ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- for mysql:
- user system total real
- query 0 sleep 1 second
- query 5 sleep 1 second
- query 2 sleep 1 second
- query 7 sleep 1 second
- query 4 sleep 1 second
- query 3 sleep 1 second
- query 1 sleep 1 second
- query 8 sleep 1 second
- query 9 sleep 1 second
- query 6 sleep 1 second
- 0.040000 0.020000 0.060000 ( 10.098092)
- for mysqlplus:
- user system total real
- query 0 sleep 1 second
- query 2 sleep 1 second
- query 1 sleep 1 second
- query 6 sleep 1 second
- query 4 sleep 1 second
- query 9 sleep 1 second
- query 3 sleep 1 second
- query 7 sleep 1 second
- query 8 sleep 1 second
- query 5 sleep 1 second
- 0.010000 0.000000 0.010000 ( 1.092088)
Add Comment
Please, Sign In to add comment