2013-03-27 37 views
6

Rayları kullanıyorum 3.2 + unicorn + postgres DB ve bir sorum var - Unicorn, DB bağlantılarını nasıl kullanıyor?Unicorn DB bağlantılarını kapatmıyor

anlıyorum nasıl

  1. boynuzlu at usta süreci çatallar X Alt süreci.
  2. her çocuk süreç ayarı DB bağlantısı - before_fork'u kapatın, after_fork içinde bağlantı kurun.
  3. biz işlem başına bağlantı kullanıyoruz (rayları DB bağlantı havuzu kullanıyorsak, işlem başına Y (veritabanı.yml) DB bağlantısı oluşturuyoruz) - yani işlem çalışıyorsa (Her zaman, onu öldürmeyene kadar çalışır) bağlantıyı sürdürürüz Açıldı ve her web isteği aynı bağlantıyı kullanıyor (after_fork'ta açıldı).
  4. açık bağlantıları, aktarma sırasında (veya başka bir DB'de) boşta veya etkin olarak gösterilecektir.

Doğru mu, yoksa bir şey mi özledim?

cevap

8

Evet haklısınız. unicorn.conf dosyasında "worker_processes 5" ve database.yml dosyasında "pool: 4" olarak ayarlarsanız, veritabanı için 20 bağlantı oluşturulur.

3

Eric Wong'a unicorn geminin kurucusu olduğunu yazdım, bunun doğru olduğunu onayladı.

İlgili konular