如何调试缓慢的 Sidekiq 作业

How to debug slow Sidekiq jobs

我的 Sidekiq 作业通常会 运行 超过 1 分钟。我尝试通过向 Sidekiq 进程发送 TTIN 信号来进行调试,但我没有看到任何记录。我的直觉是网络请求导致它挂起,但我已经在所有网络请求上使用超时来解决这个问题。

有什么建议吗?谢谢!

您可以使用基准模块https://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html

然后您可以将报告保存到日志文件中。

您问的是如何分析和调整缓慢的 Ruby 代码。

RubyProf.profile do
  MyJob.new.perform(...)
end

输出报告并查看它以找出代码缓慢的地方。

https://github.com/ruby-prof/ruby-prof#usage