Ruby ActiveRecord + Mongrel идет медленно - PullRequest
0 голосов
/ 16 мая 2010

У меня есть такой класс:


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

всегда хорошо работает.

1 Ответ

0 голосов
/ 16 мая 2010

ActiveRecord :: Base.clear_active_connections! решил проблему.

...