J'ai une classe comme ceci:Ruby ActiveRecord + Mongrel va lent
class Router :: Mongrel::HttpHandler
def process(req, res)
status, header, body = [200, {"Content-type"=>"text/html"}, Model.all.to_xml]
res.start(status) do |head, out|
header.each_pair { |key, value| head[key] = value }
out.write body
end
end
end
Il est un serveur et j'utiliser une extrémité avant de ActiveResource de l'autre côté.
Chaque 3ème demande est très lente (environ 5 secondes, 1er et 2ème est ok, environ 0,01 sec). Le problème dans Model.all.to_xml (c'est ActiveRecord -> SQLite).
Pourquoi est-ce trop lent? Il ne se produit que lorsque je l'utilise dans Mongrel :: .. HttpHandler Ce
100.times do
a = Time.now
Car.all.to_xml
puts "#{Time.now - a}"
sleep(1)
end
est toujours fonctionne bien.