在 server 机(4 核)开一个 rails,1 个客户端向 server 请求。假设该请求会消耗 100% 的 cpu,那么 server 机实际占用的 cpu 是 25%。无论这个请求多么耗 cpu,也不可能超过整机的 25%,因为 rails 是单进程 + 单线程模式。这个在预期内。
开 4 个不同的客户端同时向 server 请求,测试发现,server 机 cpu 占用仍然是 25%!难道无论有多少客户端请求,rails 只能利用 1 个 cpu 核心?rails 作为一个 web server,不应该这样吧?如果是这样的话,那上百万用户的网站,rails 怎么撑得过来?
我想知道,有没有办法让 rails 利用多核心,这样并发情况下可以多核负载?