由于芹菜的可靠性和调度存在问题,我们决定评估替代品。关于基本性能,我一直在努力在两个消息队列解决方案之间建立一个基准。
我目前的方法是在两个不同的队列上放置 1000 个任务(获取 nvie.com 并计算网站上的单词),并测量 4 celery(20 秒)与 4 rq 工人(70 秒)的速度。我的代码是https://github.com/swartchris8/celery-vs-rq-benchmark我正在通过命令行运行 celery,并通过 Mac 上的主管运行 rq,rq 的 Ubuntu 运行说明从 vagrant 文件中很清楚。
Celery 的表现要好得多,我不确定我测量队列清除速度的测试设置是否有缺陷,无法测量任务吞吐量。我还在使用默认的 RQ 工作人员,我怀疑这可能会慢得多。
我的方法是在吞吐量方面对两个消息队列系统进行基准测试的正确方法吗?你采取了哪些方法?celery 比 RQ 快那么多吗?