我有一个旧的Rails(4.2)遗留应用程序,有很多页面(控制器操作),我想对它进行分析,找出最慢的( SQL查询数量最多的)。
如何才能做到这一点?
基本上,我想找的是低垂的水果和最大的痛点。
发布于 2022-08-10 16:24:57
机架-迷你剖析器是你所需要的!
发布于 2022-08-10 07:39:57
到目前为止,我已经提出了以下方法,这是有点不方便,但似乎完成工作,只要您对分析每分钟一个页面/动作。
class RedisSQLQueryCounter
def call(_, _, _, _, values)
cache_key = Time.now.strftime '%H%M'
result = $redis.incr cache_key
Rails.logger.debug "SQL counter: #{result}"
end
end
sql_counter_subscriber = RedisSQLQueryCounter.new
ActiveSupport::Notifications.subscribe("sql.active_record", sql_counter_subscriber)
watch -f log/development.log | grep 'SQL counter'
https://stackoverflow.com/questions/73302399
复制相似问题