我正在使用 rails 3.2 + unicorn + postgres DB,我有一个问题 - unicorn 如何处理 DB 连接?
我是怎么理解的:
- 独角兽主进程分叉 X 子进程。
- 每个子进程建立数据库连接——在 before_fork 中关闭,在 after_fork 中建立连接。
- 我们使用每个进程的连接(如果我们使用 Rails DB 连接池,我们会为每个进程创建 Y(从 database.yml)DB 连接) - 即如果进程正在工作(它总是工作,直到我们不杀死它)我们保持连接打开并且每个Web 请求使用相同的连接(在 after_fork 中打开)。
- 打开的连接将在 postgres(或任何其他 DB)中显示为空闲或活动。
是正确的还是我错过了什么?