我有一个 Ruby on Rails 应用程序,它从 Twitter、Facebook 等社交媒体网站获取大量数据。
有一个索引页面,将记录显示为分页。我正在使用 Kaminari 进行分页。
我想我的问题是大数据。假设我有数百万条记录,并希望在我的索引页面上与 Kaminari 一起显示它们。当我尝试通过浏览器运行系统时,Heroku 给了我 H12 错误(请求超时)。
我可以做些什么来提高我的应用程序的性能?我的想法是只获取将在索引页面上显示的记录。同样,当点击 Kaminari 第二页链接时,仅从数据库中获取第二页记录。想法基本上就是这样,但我不知道从哪里开始以及如何实现它。
这是来自我的控制器的示例代码:
@ca_responses = @ca_responses_for_adaptors.where(:ca_request_id => @conditions)
.order(sort_column + " " + sort_direction)
.page(params[:page]).per(5)
@ca_responses:我的记录
@ca_responses_for_adaptor:基于适配器的记录。以管理员身份思考,这将返回所有记录。
@conditions:获取指定的适配器记录。例如仅获取 Twitter 相关记录等。