Rails Webbrick同时连接是否应该堆叠?

时间:2012-03-21 18:54:55

标签: ruby-on-rails webserver

我正在使用标准的Ruby-on-Rails WEBBRICK服务器。

我正在测试并且如果我在非常密集的脚本上同时有两个或三个连接(我让它完全执行而没有超时)它们是否正常堆叠(即完成下一个任务一旦前一个完成 - 许多同时连接但是一次只处理一个)?

1)这种行为是否正常? 2)我如何逃避这一点,Thin是否值得推荐?

1 个答案:

答案 0 :(得分:0)

rails服务器(webrick)实际上仅用于开发中的本地测试;单个实例运行,请求将相互阻塞。 Thin是一个更好的选择,因为它知道如何处理多个进程。有些人在Thin for production服务器前面使用Apache或Nginx。乘客是一个类似的选择,也很受欢迎。

所以是的,安装Thin以获得更真实的测试。

P.S。如果您在Amazon EC2上托管,他们的微型和小型实例只有一个CPU,所以即使您有多个进程接受请求,如果它们受到CPU的约束,它们也会表现为互相阻塞。 (这可能与你的问题无关,但我生命中的好几天都花在了这个问题上: - )。