我正在使用puma服务器来收集来自14个HTTP客户端请求的响应的服务。我在请求之间有一些依赖关系,但它们可以在某种程度上并行。每个请求可能需要1.8秒,而ruby / cpu时间仅为50毫秒(97.3%IO)。
目前,我正在使用自动缩放的heroku dynos,每个进程有25个线程。使用MRI / CRuby并假设jRuby将大大提高可扩展性,因为我同意Elyasin's claim。
Puma在处理并发请求方面做得很好,而其他请求被IO阻止。但我仍然需要并计划以非阻塞方式并行HTTP客户端请求。
在我的方案中使用vert.x对jubilee进行基准测试之前。我希望对EventMachine::MultiRequest或Celluloid等标准ruby选项或其他建议选项进行基准测试。为了真正知道有多少jubilee / vert.x比使用事件机器的puma更好。请参阅Ruby benchmarks and jubilee。
我的问题是: