nginx çalışan işlem sayısı


23

Drupal yüklemesine hizmet etmek için nginx kuruyorum ve nginx çalışan işlemleri ayarında çelişkili bilgiler buluyorum. Bir site iki taneye ihtiyacın olduğunu söylüyor, bir tanesi beş taneye ihtiyacın olduğunu söylüyor, bir tanesi işlemci başına bir tanesini söylüyor ...

Nginx çalışan işlem sayısını nasıl seçmeliyim? Bir fark yaratırsa, VMWare kümesindeki bir konuk VM'dir ve ben ona bir sanal işlemci verdim.

Yanıtlar:


16

Nginx, Apache'den ve her bağlantı sunucusu sunucusu için diğer işlemlerden farklı olarak. Bağlantıları gerçekten işleyen az sayıda çalışan işlemi başlatmak ve izlemek için bir ana işlem kullanır. Benim tavsiyem, varsayılan işçi sayısı 1 ile başlamaktır.

worker_processes  1;

Bunu, yalnızca nginx çalışanının IO’da çok fazla zaman harcadığını tespit ederseniz artırmanız gerekecektir. Bu, saniyede yüzlerce istekte bulunana kadar olmaz.

Ayrıca bu ayarları yararlı bulabilirsiniz.

worker_rlimit_nofile 8192;

events {
    worker_connections  2048;
    use epoll;
}

1
"Worker_rlimit_nofile 8192" nin ne için kullanıldığını açıklayabilir misiniz?
Piksel Geliştirici

wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile . Bu, işçiye ulimitini artırmasını söyler.
Dave Cheney

15

SMP sistemlerinde en azından nCPU çalışan işlemleri başlatılmalıdır: dört çekirdekli - dört vb. Proxy işlemine yeter.

Bazı sitelere statik içerikte bir sürü hizmet verecekseniz, disk başına bir tane olmak üzere daha fazla işçi eklemek daha iyi olur.

Disk alt sisteminiz zayıfsa veya çok yüksekse, nginx çalışan işlemleri G / Ç işlemlerinde kilitlenebilir ve diğer istekleri yerine getiremez. Bu durumda, çalışan işlem sayısını uygun bir değere (onlarca olabilir) yükseltmeli veya disk önbelleği için biraz bellek eklemelisiniz.

"Ps ax" çıktısına bakın: "D" durumunda olan işçiler kilitlenir. En azından nCPU çalışan işlemlerini engellenmeyene kadar artırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.