我的Rails应用中有一个非常奇怪的行为。
有时,每500个请求中有1个,我有一个简单的ActiveRecord代码,该代码会花费很多时间(从5秒到X分钟)。这里有一些例子:
User.where(id: params[:id]).first # or
current_user # (with *Devise*) or
Authentication.where(provider: 'whatever', user_id: 12345).first
我真的不知道该看哪里:所有这些请求都有适当的索引(它们通常在毫秒内起作用),服务器负载似乎是恒定的,...
这里的任何人以前都遇到过此类问题,或者对如何解决这些问题有一些想法?
谢谢!
仅供参考,我使用Rails / ActiveRecord 3.2.17,puma 3.11.4,Docker(AWS上的ECS),MySQL 5.6.34