【发布时间】:2011-02-19 23:38:09
【问题描述】:
我有这样的课:
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
这是一个服务器,我在另一端使用 ActiveResource 前端。
每个第 3 次请求都非常慢(大约 5 秒,第 1 次和第 2 次都可以,大约 0.01 秒)。 Model.all.to_xml 中的问题(它是 ActiveRecord -> SQLite)。
为什么太慢了?只有当我在 Mongrel::HttpHandler 中使用它时才会发生这种情况。 这个
100.times do
a = Time.now
Car.all.to_xml
puts "#{Time.now - a}"
sleep(1)
end
总是很好用。
【问题讨论】:
标签: ruby activerecord mongrel