Ruby on rails Rails是否应该堆叠同步连接?
我使用的是标准的RubyonRailsRuby on rails Rails是否应该堆叠同步连接?,ruby-on-rails,webserver,Ruby On Rails,Webserver,我使用的是标准的RubyonRailsWEBBRICK服务器 Im测试,如果我在非常密集的脚本上同时有两个或三个连接(我让它们完全执行而不超时),它们堆叠(即在前一个任务完成后完成下一个任务-多个同时连接,但一次只处理一个)正常吗 1) 这种行为正常吗? 2) 我该如何避免这种情况,是不是推荐使用瘦的?rails服务器(webrick)实际上只用于开发中的本地测试;一个实例运行,请求将相互阻塞。瘦是一个更好的选择,因为它知道如何处理多个进程。有些人在Thin前面使用Apache或Nginx作为生
WEBBRICK
服务器
Im测试,如果我在非常密集的脚本上同时有两个或三个连接(我让它们完全执行而不超时),它们堆叠(即在前一个任务完成后完成下一个任务-多个同时连接,但一次只处理一个)正常吗
1) 这种行为正常吗?2) 我该如何避免这种情况,是不是推荐使用瘦的?rails服务器(webrick)实际上只用于开发中的本地测试;一个实例运行,请求将相互阻塞。瘦是一个更好的选择,因为它知道如何处理多个进程。有些人在Thin前面使用Apache或Nginx作为生产服务器。乘客是一个类似的选择,也很受欢迎 所以,是的,安装瘦的更现实的测试
另外,如果你在AmazonEC2上托管,它们的微型和小型实例只有一个CPU,因此即使你有多个进程接受请求,如果它们被CPU绑定,它们也会像相互阻塞一样。(这可能与你的问题无关,但我花了好几天的时间才弄明白这一点:-)。我喜欢这种行为,我将它用作cron,因此我希望它以堆栈方式执行。我希望在生产环境中使用它,但是rails应用程序本身就带有thin!我会强烈地考虑写RAKE任务,而不是从Con调用它们。如果任务之间存在依赖关系,那么您可以构建一个rake任务来建模和实施依赖关系。构建一个rake任务是一个简单的过程(我过去认为有一些魔力,但它只是更多的ruby代码)。就是这样,我去看看。我问过一段时间,这是否是最佳的,我不知道这样的事情存在