Почему Монго иногда пишет, а иногда нет?Код, вероятно, может дать лучшее представление о том, о чем я говорю:
Примечание:
- pmap - это многопоточная карта.
- db версия v2.0.2, pdfile версия 4.5
dbMongo = Mongo::Connection.new.db("test") #Mongo Database.
coll = dbMongo.collection("test-collection")
glob = Array.new
#///////Generates hashes////
(1...100).to_a.pmap(10) do |x|
b_test = stack_hash(x) #generates an array of hashes
glob << b_test
end
#///////Tests/////
glob = glob.flatten.uniq.compact
p glob.length #=> 3027
p coll.drop #=> true
coll.insert(glob)
p coll.count.to_s + " <batch insert" #=> "2550 <batch insert"
p coll.drop #=> true
glob.each do |x|
coll.insert(x)
end
p coll.count.to_s + " <single thread insert" #=> "3000 <single thread insert"
p coll.drop #=> true
glob.each do |x|
sleep(0.1)
coll.insert(x)
end
p coll.count.to_s + " <single thread slow insert" #=> "3000 <single thread slow insert"