Rails 4:metainspector gem减慢app app

时间:2015-11-20 01:02:10

标签: ruby-on-rails performance ruby-on-rails-4 gem

在我的Rails 4应用中,我使用metainspector gem来允许用户显示他们发布到表单的网址中的元数据。

由于我安装了这个gem,每次我尝试访问我自己的应用程序的页面,其中从其他网站提取元数据时,加载时间会显着增加。

加载时间增加从小型和本地网站的难以察觉的延迟,到大型和外国网站的应用程序几乎冻结。

为了给你一个想法,常规页面通常加载不到400毫秒:当我们用metainspector提取数据时,它可以超过30,000毫秒(我用rack-mini-profiler测量这些加载时间)。

我在网上找不到类似的问题。

以下是我想弄清楚的事情:

  1. 这听起来是否正常,或者我是否以错误的方式设置了某些内容?

  2. 有没有办法加快metainspector的加载时间?例如caching responses

  3. 如果无法加快加载时间,我是否应该实施timeout限制并显示错误消息?

1 个答案:

答案 0 :(得分:1)

这是完全正常的,确切地说,不是metainspector会降低您的应用速度,这是因为您需要外部网址。

您应该尝试使用metainspector中的内置缓存机制缓存响应,但如果可能的话,还应使用后台队列将其移动到异步作业,并保存或缓存结果。