4

rollbar 会影响 rails 应用程序的性能吗?从开发和质量的角度来看,它非常有用。但我担心生产性能。

4

1 回答 1

5

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 文档中。

于 2017-01-10T18:17:26.440 回答