我有两个简单的Ruby on Rails应用程序,其中一个使用ActiveResource访问另一个。 ActiveResource处理似乎增加了约1000毫秒的开销。这些是跟踪日志:
请求者:
Started GET "/documents/1/retrieve?name=LRActionItems" for 127.0.0.1 at 2011-07-28 17:24:07 -0400
Processing by DocumentsController#retrieve as
Parameters: {"name"=>"LRActionItems", "id"=>"1"}
retrieving persistent_data for id 1 - name LRActionItems
GET http://localhost:3333/field_value_collections/1/field_values/find_by_field_name.xml?field_name=LRActionItems
--> 200 OK 639 (1030.1ms)
Rendered text template (0.0ms)
Completed 200 OK in 1037ms (Views: 1.0ms | ActiveRecord: 1.0ms)
反应者:
Started GET "/field_value_collections/1/field_values/find_by_field_name.xml?field_name=LRActionItems" for 127.0.0.1 at 2011-07-28 17:24:08 -0400
Processing by FieldValuesController#find_by_field_name as XML
Parameters: {"field_name"=>"LRActionItems", "field_value_collection_id"=>"1"}
Completed 200 OK in 3ms (Views: 1.0ms | ActiveRecord: 0.0ms)
cache: [GET /field_value_collections/1/field_values/find_by_field_name.xml?field_name=ULActionItems] miss
如您所见,响应者在3ms内响应,但请求者需要1037ms,因为ActiveResource请求需要1030.1ms。
我处于生产模式(开发模式实际上只是慢一点--10-15ms)
我正在使用WEBrick并且已经从生成的项目中进行了很少的自定义。
这是正常的表现吗?是否有任何配置可以使这更好?