我试图找出 Puma和Webrick 之间的区别,但没有得到它或对此不满意。
因此,任何人都可以分享有关它的信息。
最佳答案
默认情况下, WEBrick 是单线程单个进程。这意味着,如果同时有两个请求,则第二个必须等待第一个完成。
解决慢速I/O的最有效方法是多线程。一个工作进程在其中产生了几个工作线程。每个请求都由其中一个线程处理,但是当它暂停I/O时(例如等待db查询),则另一个线程开始工作。这种来回快速的操作可以最大程度地利用您的RAM限制,并使您的CPU保持繁忙。
因此,使用 Puma 实现了多线程,这就是为什么在Rails App中将其用作默认App Server的原因。
关于ruby-on-rails - 为什么Rails 5使用puma而不是webrick进行开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49674481/