【问题标题】:How many Ruby Fibers can I use on Heroku?我可以在 Heroku 上使用多少个 Ruby Fiber?
【发布时间】:2013-03-06 01:20:56
【问题描述】:

我正在试验“async rails”,以帮助减轻使用缓慢的第 3 方服务的痛苦。

宝石文件

gem 'eventmachine'
gem 'rack-fiber_pool',  :require => 'rack/fiber_pool'
gem 'em-synchrony', :require => ['em-synchrony',
                                 'em-synchrony/em-http',
                                 'em-synchrony/activerecord']

config.ru

require ::File.expand_path('../config/environment',  __FILE__)
use Rack::FiberPool, :size => 6
run MyApp::Application

有谁知道 Heroku 的 Cedar 堆栈可以使用多少个 Ruby Fiber?或者如何确定这样的事情?

【问题讨论】:

    标签: ruby-on-rails-3 heroku fibers


    【解决方案1】:

    和您一样,我目前正在尝试使用 ruby​​ 和 Fiber 来提高应用性能。而且根据我的阅读和思考记忆,您可以使用的纤维数量应该几乎没有限制。

    我想记住(请自己检查),每个测功机最多可以使用 500 Mb 的 RAM。每根光纤都会为您的应用程序的 RAM 使用量增加几 kb(我认为是 2kb)。只要您的应用不使用完整的 500Mb,即使使用 1000 根光纤也应该没问题。

    但是您之前应该达到性能/并发边界,因为您的应用仍然一次只处理一个纤程。在您的情况下,这将取决于外部服务。

    【讨论】:

    • 我确信这个数字实际上并不是无限的,但这是一个很好的观点,我可能会在内存耗尽之前很久就不再看到额外光纤的好处。谢谢!
    猜你喜欢
    • 2014-09-18
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多