Guest User

Untitled

a guest
May 2nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. require 'rubygems'
  2. require 'mysql'
  3. require 'thread'
  4. require 'benchmark'
  5.  
  6. DB_CONFIG = {
  7. :username => 'root',
  8. :password => '',
  9. :host => '127.0.0.1',
  10. :db => 'SOME_DB_NAME'
  11. }
  12.  
  13. ITERATIONS=6
  14. SQL_STMT = "select sleep(1) from dual;"
  15.  
  16. def execute_query
  17. conn = Mysql.new(DB_CONFIG[:host], DB_CONFIG[:username], DB_CONFIG[:password], DB_CONFIG[:db], 3306, nil, nil)
  18. res = conn.query(SQL_STMT)
  19. res.free
  20. conn.close
  21. end
  22.  
  23. puts "Iterations:#{ITERATIONS} SQL: #{SQL_STMT}"
  24. puts "Serial: " + Benchmark.measure { ITERATIONS.times {execute_query}}.real.to_s
  25. threads = []
  26. ITERATIONS.times { threads << Thread.new { execute_query} }
  27. puts "Multi-threaded: " + Benchmark.measure { threads.collect{|t| t.join}}.real.to_s
  28.  
  29. # Output
  30. # ---------------------
  31. # Iterations:6 SQL: select sleep(1) from dual;
  32. # Serial: 6.01356410980225
  33. # Multi-threaded: 0.000133991241455078
Add Comment
Please, Sign In to add comment