通常,我的 Sidekiq 作业会运行超过 1 分钟。我试图通过向 Sidekiq 进程发送TTIN
信号来进行调试,但我没有看到任何记录。我的直觉是,这是一个网络请求使其挂起,但我正在利用所有网络请求的超时来解决这个问题。
有什么建议吗?谢谢!
你问的是如何分析和调整慢速的 Ruby 代码。
RubyProf.profile do
MyJob.new.perform(...)
end
输出报告并查看它以查找代码运行缓慢的地方。
https://github.com/ruby-prof/ruby-prof#usage
您可以使用
基准模块 https://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html
然后,您可以将报告保存到日志文件中。