php-fpm: başlangıç_servers, min_spare_servers, max_spare_servers


10

Benim sunucu için ayar yapmak benim php-fpm kurulumu çalışıyorum ve sorun ile ne bulmaktan pm.start_servers, pm.min_spare_serversve pm.max_spare_serversdeğişkenler. Ben kullanıyorumpm = dynamic

pm.max_childrentamamen açıktır. Her alt süreç bir kerede 1 web istemcisine hizmet eder. Tamam. Peki "sunucu" nedir? Açıkçası, sahip olduğum varsayılan yapılandırmaya bağlı olarak, 1 sunucu 1'den fazla çocuk sunabilir. Üst limit nedir? # Çocuk / sunucu için temel kural olarak ne kullanmalıyım? Yoksa hiç alakalı mı? Bazı forumlarda, birisi sunucuların # 2 cpu çekirdeği olması gerektiğini iddia ediyordu, ancak sayının çok daha yüksek olduğu önerilen konfigürasyonları gördüm, 40-50.

Ne PHP belgeleri ne de orada birçok "ayar php-fpm" makaleleri hiç yardımcı oldu.

Yanıtlar:


14

Temelde php-fpm'nin herhangi bir zamanda çalışacağı işlem sayısı, sizin dynamicgibi ayarladığınızda çok yapılandırılabilir . Oraya ayarlandığında DAİMA birçok alt süreç staticçalışacaktır . Genelde kaynakları korumak için dinamik olarak ayarlarsınız. Her alt süreç bir talebi karşılayabilir. Üst sınır php uygulamanızın ne kadar ağır olduğuna ve ne kadar trafik aldığınıza bağlıdır. Ayrıca, her çocuğun ortalama bellek tüketimini hesaplamalı ve ASLA sunucunuzun yüklü koç miktarını aşmasına ASLA izin vermediğinizden emin olmalısınız, aksi takdirde takas etmeye başlayacak ve hatta çekirdeği öldürmeye başlayacaksınız.

; Choose how the process manager will control the number of child processes.
; Possible Values:
;   static  - a fixed number (pm.max_children) of child processes;
;   dynamic - the number of child processes are set dynamically based on the
;             following directives:
;             pm.max_children      - the maximum number of children that can
;                                    be alive at the same time.
;             pm.start_servers     - the number of children created on startup.
;             pm.min_spare_servers - the minimum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is less than this
;                                    number then some children will be created.
;             pm.max_spare_servers - the maximum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is greater than this
;                                    number then some children will be killed.
; Note: This value is mandatory.

Bu seçenekleri ayarlarken aşağıdakileri göz önünde bulundurun:

  • Ortalama talebiniz ne kadar?
  • Sitelerin maksimum eşzamanlı ziyaretçi sayısı nedir?
  • Her çocuk süreci ortalama olarak ne kadar bellek tüketir?

3
Çok yararlı, içgörü için teşekkürler. Hesaplama için de yararlıdır, ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'her bir çalışanın ne kadar belleğe sahip olduğunu görmek için bunu kullanın. alınan community.webcore.cloud/tutorials/...
Matt Ninja
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.