Ruby 5.5 倍速,Sidekiq 爆揍 Celery

rubybird · 2017年05月26日 · 最后由 dsh0416 回复于 2017年05月27日 · 2967 次阅读

这两天测试了两个异步任务后台,Sidekiq 和 Celery,一个是基于 Ruby 2.4.1 的,一个是基于 Python 2.7 的。

在同样的测试环境中(都使用 Redis),测试 10 万个任务,Celery 处理完需要 144 秒,每秒处理 694 个。

而 Sidekiq 处理完只需要 26 秒,每秒达到 3846 个,是 Celery 的 5.5 倍。

详细的测试过程可以参考这里

Sidekiq 作为一个商业产品,性能强悍理所当然的。Celery 也算大名鼎鼎了,与 Sidekiq 相比,速度相差那么多,实在出乎意料啊。

对此,大家怎么看?

异步并发主要看 IO 架构,语言层面影响不大。Sidekiq 确实 NB.

最新版的 Ruby 对比五年前的 python,这事儿不理亏嘛

要看任务类型。耗时长的任务,sidekiq 优势就不明显了。

tulongtou 回复

Python 3 的性能在大多数情况下比 Python 2 更糟糕。。。但一旦用上 Pypy 就形式逆转了😣

需要 登录 后方可回复, 如果你还没有账号请 注册新账号