Rollbar 对 rails 性能的影响
Rollbar impact on rails performance
rollbar 会影响 rails 应用程序性能吗?
从开发和质量的角度来看,它非常有用。但是我担心生产性能。
Rollbar 将对应用程序性能产生不同的影响,具体取决于您如何配置它以及您的应用程序报告错误的频率。
默认情况下,Rollbar 同步发送错误数据,API 的典型响应时间为 10 秒到低 100 毫秒。
为了尽量减少对性能的影响,您可以使用以下选项之一将 Rollbar 配置为 异步发送数据:
girl_friday
在config/initializers/rollbar.rb
中添加以下内容:
config.use_async = true
如果未安装 girl_friday,则异步报告回退到线程。
sucker_punch
在config/initializers/rollbar.rb
中添加以下内容:
config.use_sucker_punch
Sidekiq
在config/initializers/rollbar.rb中添加以下内容:
config.use_sidekiq
默认的 Sidekiq 队列是 rollbar
,但您也可以提供自定义的 Sidekiq 选项:
config.use_sidekiq 'queue' => 'default'
您还需要将队列名称添加到您的 sidekiq.yml
:queues:
- default
- rollbar
启动redis服务器:
$ redis-server
从您的 Rails 应用程序的根目录启动 Sidekiq 并声明您的队列名称。除非您另行配置,否则队列名称为 rollbar
:
$ bundle exec sidekiq -q rollbar
对于每个错误作业,都会向 Rollbar API 发送一份新报告,对于错误重试的作业也是如此。您可以配置重试阈值以开始向 rollbar 报告:
config.sidekiq_threshold = 3 # Start reporting from 3 retries jobs
重新请求
在config/initializers/rollbar.rb
中添加以下内容:
config.use_resque
您还可以提供自定义 Resque 队列:
config.use_resque :queue => 'my_queue'
现在您可以在该队列中启动一个新的 Resque worker 处理作业:
$ QUEUE=my_queue bundle exec resque:work
延迟作业
在config/initializers/rollbar.rb
中添加以下内容:
config.use_delayed_job
线程
在config/initializers/rollbar.rb
中添加以下内容:
config.use_thread
可用选项的完整详细信息在 rollbar-gem docs。
rollbar 会影响 rails 应用程序性能吗? 从开发和质量的角度来看,它非常有用。但是我担心生产性能。
Rollbar 将对应用程序性能产生不同的影响,具体取决于您如何配置它以及您的应用程序报告错误的频率。
默认情况下,Rollbar 同步发送错误数据,API 的典型响应时间为 10 秒到低 100 毫秒。
为了尽量减少对性能的影响,您可以使用以下选项之一将 Rollbar 配置为 异步发送数据:
girl_friday
在config/initializers/rollbar.rb
中添加以下内容:
config.use_async = true
如果未安装 girl_friday,则异步报告回退到线程。
sucker_punch
在config/initializers/rollbar.rb
中添加以下内容:
config.use_sucker_punch
Sidekiq
在config/initializers/rollbar.rb中添加以下内容:
config.use_sidekiq
默认的 Sidekiq 队列是 rollbar
,但您也可以提供自定义的 Sidekiq 选项:
config.use_sidekiq 'queue' => 'default'
您还需要将队列名称添加到您的 sidekiq.yml
:queues:
- default
- rollbar
启动redis服务器:
$ redis-server
从您的 Rails 应用程序的根目录启动 Sidekiq 并声明您的队列名称。除非您另行配置,否则队列名称为 rollbar
:
$ bundle exec sidekiq -q rollbar
对于每个错误作业,都会向 Rollbar API 发送一份新报告,对于错误重试的作业也是如此。您可以配置重试阈值以开始向 rollbar 报告:
config.sidekiq_threshold = 3 # Start reporting from 3 retries jobs
重新请求
在config/initializers/rollbar.rb
中添加以下内容:
config.use_resque
您还可以提供自定义 Resque 队列:
config.use_resque :queue => 'my_queue'
现在您可以在该队列中启动一个新的 Resque worker 处理作业:
$ QUEUE=my_queue bundle exec resque:work
延迟作业
在config/initializers/rollbar.rb
中添加以下内容:
config.use_delayed_job
线程
在config/initializers/rollbar.rb
中添加以下内容:
config.use_thread
可用选项的完整详细信息在 rollbar-gem docs。