Rails 4:metainspector gem 使应用程序变慢

Rails 4: metainspector gem slowing app down

在我的 Rails 4 应用程序中,我使用 metainspector gem 允许用户显示来自 URL 他们 post 的元数据一个表格。

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

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

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

我在网上没有找到太多类似的问题。

这是我想弄清楚的:

  1. 这听起来正常还是我设置有误?

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

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

这是完全正常的,确切地说,这不是 metainspector 导致您的应用变慢的原因,而是您请求外部 URL 的事实。

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