如何调试缓慢的 Sidekiq 作业



通常,我的 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

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

最新更新