mongo-ruby-driver/bench/gridstore_benchmark

47 lines
1010 B
Plaintext
Raw Normal View History

#!/usr/bin/env ruby
require 'rubygems'
require 'mongo'
include Mongo
db = Connection.new['benchmark-gridfs']
sample_data = File.open(File.join(File.dirname(__FILE__), 'sample_file.pdf'), 'r').read
2010-02-24 20:24:01 +00:00
db['fs.files'].remove
db['fs.chunks'].remove
2010-02-24 20:24:01 +00:00
T = 5
length = sample_data.length
2010-02-24 20:24:01 +00:00
mb = T * length / 1048576.0
2010-02-12 23:03:07 +00:00
@grid = Grid.new(db)
@grid_file_system = GridFileSystem.new(db)
2010-02-12 23:03:07 +00:00
t1 = Time.now
2010-02-24 20:24:01 +00:00
ids = []
T.times do |n|
ids << @grid.put(sample_data, :filename => "mongodb-new-#{n}.pdf")
end
2010-02-24 20:24:01 +00:00
puts "Grid Write: #{mb / (Time.now - t1)} mb/s"
2009-12-16 19:03:15 +00:00
2010-02-12 23:03:07 +00:00
t1 = Time.now
2010-02-24 20:24:01 +00:00
T.times do |n|
@grid_file_system.open("mongodb.pdf-#{n}", 'w') do |f|
2010-02-24 20:24:01 +00:00
f.write(sample_data)
end
end
puts "GridFileSystem Write: #{mb / (Time.now - t1)} mb/s"
t1 = Time.now
2010-02-24 20:24:01 +00:00
T.times do |n|
data = @grid.get(ids[n]).read
end
2010-02-24 20:24:01 +00:00
puts "Grid Read: #{mb / (Time.now - t1)} mb/s"
2010-02-12 23:03:07 +00:00
2010-02-24 20:24:01 +00:00
t1 = Time.now
T.times do |n|
old_data = @grid_file_system.open("mongodb.pdf-#{n}", 'r') do |f|
2010-02-24 20:24:01 +00:00
f.read
end
end
puts "GridFileSystem Read: #{mb / (Time.now - t1)} mb/s"