![](/img/trans.png)
[英]Using Rails validations, how do I whitelist a phrase, e.g., “Learn Ruby”
[英]Ruby on Rails question - how can I measure response time from when request first hits app?? (e.g. using 'benchmark')
背景-我正在通过Rails应用程序将文件(文本,图像)提供给浏览器,因为用户也需要进行身份验证。 这些文件在文件系统上,但是引用在数据库中,因为我正在使用PAPERCLIP。 使用AUTHLOGIC进行身份验证。 我发现响应时间非常糟糕,因为对HTML /图像等的每个请求都必须经过我猜为AUTHLOGIC,PAPERCLIP的Rails层,然后再流回。
问题1-如何获得基准时间,从HTTP请求到达Rails应用程序的第一点开始,一直到准备开始流回请求的时间(即避免网络流量变化)开始?
我在控制器中使用“基准”,但是我可以肯定我还错过了其他延迟,例如:通过AuthLogic进行身份验证等。例如,我正在粗略地做
def find
self.class.benchmark("BENCHMARK REPORT") do
search_path = params[:path] * "/"
webfile = Webfile.find_by_path( search_path )
if webfile
send_file webfile.file.path , :type => webfile.file_content_type, :disposition => 'inline'
else
render :text => "COULD NOT FIND YOUR FILE WITH PATH = #{params [:path]}"
end
end
end
问题2-鉴于我希望用户对HTML和相关文件(CSS,图像)进行身份验证,然后对页面进行身份验证,是否有任何明显的方法可以使数量级得到改善? 我想我可以在会话状态中保存HTML页面所需的子文件列表并获取其文件位置路径,直到后续请求到来为止,这将需要一些数据库查找(以使用会话状态为代价)?
谢谢
有很多方法可以做到这一点。 一个不错的办法是在您的应用程序中安装New Relic插件,以执行这种性能监视。 您需要付费才能在生产中使用它,但是可以免费在本地将其用于开发基准测试和性能分析。
尽管我还没有亲自使用过类似产品,但还有其他几家公司提供类似产品。
Rails现在还带有一些脚本来进行基准测试和性能分析。 查看script/performance
中的script/performance
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.