rollbar 会影响 rails 应用程序的性能吗?从开发和质量的角度来看,它非常有用。但我担心生产性能。
1 回答
Rollbar 将对应用程序性能产生不同的影响,具体取决于您的配置方式以及应用程序报告错误的频率。
默认情况下,Rollbar同步发送错误数据,API 的典型响应时间为 10 秒到低 100 毫秒。
为了最大限度地减少性能影响,您可以使用以下选项之一将 Rollbar 配置为异步发送数据:
女孩星期五
在 中添加以下内容config/initializers/rollbar.rb
:
config.use_async = true
如果未安装 girl_friday,则异步报告回退到线程。
垂死挣扎
在 中添加以下内容config/initializers/rollbar.rb
:
config.use_sucker_punch
西德基克
在 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,对于错误重试作业也是如此。您可以配置重试阈值以开始向滚动条报告:
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 文档中。