我现在已经奋斗了2天了,我无法想象我应该做些什么。我正在使用Rails(4.2.3)和Ruby 2.2.1,如果这有任何帮助。
在安装新的遗物宝石后,我发现我的两个控制器需要花费大量时间来响应(约17秒)的原因是由于对亚马逊s3的请求。
这些页面只使用ransack gem显示10条记录。
以下是您可以看到的屏幕截图。
非常感谢任何帮助......
答案 0 :(得分:0)
像S3这样的外部服务调用可能需要时间,具体取决于多个变量,如:
答案 1 :(得分:0)
很难准确地说,每条记录的10条记录1.7秒似乎相当大,也许你应该在Rails之外测量(例如在浏览器中直接请求相同的URL)。
但通常在控制器中发出10个连续请求是件坏事。即使请求相当快,制作其中10个也可能是该响应中最慢的一倍。
不幸的是Ruby / Rails中的异步支持并不是很好(猜测需要更多人要求和贡献)。我不认为使用AWS开发工具包可以使用选项2,你需要四处寻找一个非常低级的HTTP客户端库(而不仅仅是一个线程/光纤包装器)。