Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails是否应该堆叠同步连接?_Ruby On Rails_Webserver - Fatal编程技术网

Ruby on rails Rails是否应该堆叠同步连接?

Ruby on rails Rails是否应该堆叠同步连接?,ruby-on-rails,webserver,Ruby On Rails,Webserver,我使用的是标准的RubyonRailsWEBBRICK服务器 Im测试,如果我在非常密集的脚本上同时有两个或三个连接(我让它们完全执行而不超时),它们堆叠(即在前一个任务完成后完成下一个任务-多个同时连接,但一次只处理一个)正常吗 1) 这种行为正常吗? 2) 我该如何避免这种情况,是不是推荐使用瘦的?rails服务器(webrick)实际上只用于开发中的本地测试;一个实例运行,请求将相互阻塞。瘦是一个更好的选择,因为它知道如何处理多个进程。有些人在Thin前面使用Apache或Nginx作为生

我使用的是标准的RubyonRails
WEBBRICK
服务器

Im测试,如果我在非常密集的脚本上同时有两个或三个连接(我让它们完全执行而不超时),它们堆叠(即在前一个任务完成后完成下一个任务-多个同时连接,但一次只处理一个)正常吗

1) 这种行为正常吗?
2) 我该如何避免这种情况,是不是推荐使用瘦的?

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

所以,是的,安装瘦的更现实的测试


另外,如果你在AmazonEC2上托管,它们的微型和小型实例只有一个CPU,因此即使你有多个进程接受请求,如果它们被CPU绑定,它们也会像相互阻塞一样。(这可能与你的问题无关,但我花了好几天的时间才弄明白这一点:-)。

我喜欢这种行为,我将它用作cron,因此我希望它以堆栈方式执行。我希望在生产环境中使用它,但是rails应用程序本身就带有thin!我会强烈地考虑写RAKE任务,而不是从Con调用它们。如果任务之间存在依赖关系,那么您可以构建一个rake任务来建模和实施依赖关系。构建一个rake任务是一个简单的过程(我过去认为有一些魔力,但它只是更多的ruby代码)。就是这样,我去看看。我问过一段时间,这是否是最佳的,我不知道这样的事情存在