如何调试缓慢的Sidekiq作业

时间:2019-02-07 17:49:38

标签: ruby-on-rails performance ruby-on-rails-5 sidekiq

我的Sidekiq作业通常运行超过1分钟。我试图通过向Sidekiq进程发送TTIN信号来进行调试,但没有看到任何记录。我的直觉是,是由于网络请求使之挂起,但我利用所有网络请求的超时来解决此问题。

有什么建议吗?谢谢!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您在问如何分析和调整慢速的Ruby代码。

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

输出报告并对其进行检查,以找出代码运行缓慢的地方。

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