unicorn设置unicorn
一个worker_processes同一时间只能处理一个请求,所以想要处理更多的并发就需要配置足够的worker_processes,但是由此产生的副作用是内存占用就多了。
一个worker_processes占用了将近60m内存(根据你使用的gem数量和种类而定),mysql占用了150m左右,所以我只开了3个worker_processes。
总的内存使用:
(1 master + 3 worker_processes) x 60m + 150m = 390m
剩余的留给操作系统。
你可以根据你的实际情况进行调整。
unicorn设置unicorn的worker_processes和nginx的worker_processes的设置的关系
nginx的worker_processes 一般设置为cpu核心数相同即可。
worker_connection这个参数是限制每个worker_processes最大能处理的连接数 (包含客户端到nginx的链接,nginx到后端的链接,等等)。
此参数大小还受制于操作系统 open file 大小限制。
所以nginx并发处理能力=worker_processes x worker_connection