在我的Rails 4应用中,我使用metainspector gem来允许用户显示他们发布到表单的网址中的元数据。
由于我安装了这个gem,每次我尝试访问我自己的应用程序的页面,其中从其他网站提取元数据时,加载时间会显着增加。
加载时间增加从小型和本地网站的难以察觉的延迟,到大型和外国网站的应用程序几乎冻结。
为了给你一个想法,常规页面通常加载不到400毫秒:当我们用metainspector
提取数据时,它可以超过30,000毫秒(我用rack-mini-profiler
测量这些加载时间)。
我在网上找不到类似的问题。
以下是我想弄清楚的事情:
这听起来是否正常,或者我是否以错误的方式设置了某些内容?
有没有办法加快metainspector
的加载时间?例如caching responses?
如果无法加快加载时间,我是否应该实施timeout限制并显示错误消息?
答案 0 :(得分:1)
这是完全正常的,确切地说,不是metainspector会降低您的应用速度,这是因为您需要外部网址。
您应该尝试使用metainspector中的内置缓存机制缓存响应,但如果可能的话,还应使用后台队列将其移动到异步作业,并保存或缓存结果。